Kila mtu ana backup hadi anapojaribu kurejesha moja. Folda inageuka kuwa tupu, kazi ya cron ilikufa Machi, au kumbukumbu iko kwenye diski ileile iliyoharibika sasa hivi. restic inatatua mengi ya hayo: husimba upande wako, huhifadhi kila kipande cha data mara moja, na hufanya kurejesha faili moja kuwa rahisi kama kufanya backup ya seva nzima.
Hii ni mipangilio ambayo tungeiamini kweli, kwenye Ubuntu au Debian.
1. Sakinisha restic
apt update && apt install -y restic
restic self-update
Package za distribution huchelewa; self-update huleta toleo la sasa.
2. Chagua mahali pa repository
Repository haipaswi kuwa kwenye seva unayoilinda. Chaguo mbili za kawaida:
- Seva nyingine kupitia SFTP:
sftp:backup@203.0.113.20:/srv/restic/web1 - Hifadhi ya object inayoendana na S3:
s3:https://s3.example.com/my-bucket/web1
3. Hifadhi taarifa za kuingia
Weka kila kitu kwenye faili moja linalosomwa na root pekee, ili timer na shell yako zitumie mipangilio ileile:
cat > /root/.restic-env <<'EOF'
export RESTIC_REPOSITORY="s3:https://s3.example.com/my-bucket/web1"
export RESTIC_PASSWORD_FILE="/root/.restic-pass"
export AWS_ACCESS_KEY_ID="your-key-id"
export AWS_SECRET_ACCESS_KEY="your-secret"
EOF
openssl rand -base64 32 > /root/.restic-pass
chmod 600 /root/.restic-env /root/.restic-pass
Sasa nakili maudhui ya /root/.restic-pass kwenye kidhibiti chako cha manenosiri. Bila hilo, backup haziwezi kufunguliwa — si na wewe wala na mtu mwingine yeyote.
4. Anzisha na uendeshe backup ya kwanza
source /root/.restic-env
restic init
restic backup /etc /home /root /srv /var/www \
--exclude-caches --exclude '/root/.cache'
restic snapshots
Rekebisha njia kulingana na mahali data yako ilipo kweli. Volume za Docker ziko chini ya /var/lib/docker/volumes; data za programu mara nyingi ziko ndani ya /srv au /opt.
5. Database: dump kwanza, kisha backup
Usifanye backup ya faili ghafi za database inayoendesha. Tengeneza dump muda mfupi kabla ya backup:
mkdir -p /var/backups/db
sudo -u postgres pg_dump -Fc mydb > /var/backups/db/mydb.dump
Ongeza /var/backups/db kwenye njia za backup. Mwongozo wetu wa PostgreSQL una maelezo zaidi kuhusu dump.
6. Ipangie ratiba kwa systemd
Hapa timer ni bora kuliko cron: inaandika kwenye journal na hufidia uendeshaji uliokosekana kama seva ilikuwa imezimwa wakati uliopangwa.
# /etc/systemd/system/restic-backup.service
[Unit]
Description=restic backup
[Service]
Type=oneshot
ExecStart=/bin/bash -c 'source /root/.restic-env && restic backup /etc /home /root /srv /var/www /var/backups/db --exclude-caches && restic forget --keep-daily 7 --keep-weekly 4 --keep-monthly 6 --prune'
# /etc/systemd/system/restic-backup.timer
[Unit]
Description=Daily restic backup
[Timer]
OnCalendar=*-*-* 03:30:00
Persistent=true
[Install]
WantedBy=timers.target
systemctl daemon-reload
systemctl enable --now restic-backup.timer
systemctl list-timers restic-backup.timer
forget --prune huhifadhi snapshot 7 za kila siku, 4 za kila wiki na 6 za kila mwezi na kufuta zilizobaki. Kama una hatua ya dump ya database, iweke kwenye mstari wa ExecStartPre=.
7. Rejesha kitu kweli
Hii ndiyo hatua inayogeuza "tuna backup" kuwa ukweli. Rudisha folda moja kwenye folda ya muda na uiangalie:
source /root/.restic-env
restic restore latest --target /tmp/restore-test --include /etc/nginx
ls -la /tmp/restore-test/etc/nginx
restic check
Fanya hivi mara moja sasa na tena kila baada ya miezi michache. restic check huthibitisha muundo wa repository; urejeshaji huthibitisha kwamba data kweli ipo.
restic na Managed Backups
Hazishindani. Managed Backups huchukua kila siku kituo cha kurejesha seva nzima, ambacho unakirudisha kutoka dashibodi — suluhisho la haraka baada ya sasisho lililoharibika. Zinagharimu $2 kwa mwezi na zimejumuishwa bure kwenye kila mpango wa mwaka. restic inakupa nakala za kiwango cha faili, nje ya seva, kwenye hifadhi unayoidhibiti — jambo muhimu tatizo linapokuwa faili lililofutwa Jumanne iliyopita, au unapotaka nakala iliyo nje kabisa ya miundombinu yetu.
Kama unahifadhi data nyeti, unganisha hili na usimbaji wa diski nzima, au angalia matumizi ya hifadhi iliyosimbwa ili kuendesha kituo chako cha backup. Mpango wa Micro unatosha kwa seva ndogo nyingi pamoja na kazi zao za backup.
Maoni
Bado hakuna maoni. Kuwa wa kwanza.