Säkerhetskopiera och återställa Gitea-server
Något kan hända i dessa svåra tider
Behöver säkerhetskopiera 1) databasen, 2) filförvaringen och 3) några andra Gitea-filer. Här går vi.

I inlägget Testa Gitea installerade vi Gitea-servern.
När
Nu bara som en försiktighetsåtgärd för att övning ger färdighet, behöver vi öva på säkerhetskopierings- och återställningsproceduren.
Bättre säker än sorry.
Var
Gitea-serverns data består av 3 komponenter
- kod
- filförvaring
- databas
I vårt testmiljö tar de tillsammans lite mer än 700MB:

Som de rekommenderar, behöver vi stoppa alla tjänster och säkerhetskopiera dem alla, slags i samma transaktion.
Och återställa, i samma transaktion också.
Hur - Säkerhetskopiera
cd ~/gitea-srv-local
# säkerhetskopiera databasen
sudo docker exec -t gitea-srv-local_db_1 bash -c 'pg_dump gitea -U gitea --file=/var/lib/postgresql/backups/gitea-db-$(date +%Y-%m-%d).sql'
# ta ner gitea
sudo docker-compose down
# kontrollera säkerhetskopieringsmappen
sudo ls postgres-backups
# skapa säkerhetskopieringsmapp
mkdir gitea-backups
# säkerhetskopiera gitea-mappen
sudo tar -zcvf gitea-backups/gitea-gitea-$(date +%Y-%m-%d).tgz gitea/gitea
# säkerhetskopiera repos-mappen
sudo tar -zcvf gitea-backups/gitea-git-$(date +%Y-%m-%d).tgz gitea/git
# starta upp igen
sudo docker-compose up -d
sista biten - logga in på någon annan server och hämta säkerhetskopieringsmappen där, eller gör någon annan mer avancerad filhantering
scp -r uname@gitea-srv-ip-addr:/home/uname/gitea-srv-local/gitea-backups ~/gitea-backups
scp -r uname@gitea-srv-ip-addr:/home/uname/gitea-srv-local/postgres-backups ~/postgres-backups
Hur - Återställa
Faktiskt finns det lite mer än så, särskilt med rättigheter och krokar, men idén är densamma.
Men! kontrollera originaldokumentationen: https://docs.gitea.com/administration/backup-and-restore
# installera först
# sedan ta ner den
sudo docker-compose down
# återställa filer
tar -zxvf gitea-git-___.tgz gitea/git
tar -zxvf gitea-gitea-___.tgz gitea/gitea
# starta upp igen
sudo docker-compose up -d
# här något med psql eller pg_restore
sudo docker exec -t gitea-srv-local_db_1 bash -c 'psql gitea -U gitea --file=/var/lib/postgresql/backups/gitea-db-$(date +%Y-%m-%d).sql'
Sen gå till gränssnittet och kontrollera det