Säkerhetskopiera och återställa Gitea-server

Något kan hända i dessa svåra tider

Sidinnehåll

Behöver säkerhetskopiera 1) databasen, 2) filförvaringen och 3) några andra Gitea-filer. Här går vi.

mycket trevlig bild av öppnad hdd

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:

gitea diskförbrukning

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

Användbara länkar