Talaan ng mga Nilalaman:
- Hakbang 1: Mga Pagpapalagay
- Hakbang 2: I-install ang Rdiff-backup
- Hakbang 3: Kilalanin ang Mga Direktoryang Gusto Mong I-backup
- Hakbang 4: I-automate
- Hakbang 5: Sumulat ng isang Pag-andar
- Hakbang 6: Sabihin Mo sa Script Alin ang Direksyon sa Pag-backup
- Hakbang 7: Ang Buong Bagay na Magkasama Ngayon
- Hakbang 8: Idagdag sa Cron
- Hakbang 9: Ibalik
2025 May -akda: John Day | [email protected]. Huling binago: 2025-01-13 06:58
Ituturo sa iyo ang itinuturo na ito kung paano magpatakbo ng isang simpleng buong tampok na backup at recovery system sa linux gamit ang rdiff-backup at isang usb drive.
Hakbang 1: Mga Pagpapalagay
Ipagpalagay ko ang isang system na gumagamit ng yum para sa pag-install at na-mount ka ng usb drive bilang /mnt//backup. Gumagamit ako ng Fedora, ngunit maaari mong gamitin ang anumang bagay at i-install lamang ang backup na subalit nais mo. Magagamit din ito mula sa pag-download dito:
Hakbang 2: I-install ang Rdiff-backup
I-install ang rdiff-backup [root @ HOST scripts] # yum install rdiff-backup
Hakbang 3: Kilalanin ang Mga Direktoryang Gusto Mong I-backup
Maaari mong i-backup ang buong system, ngunit maaaring iyon ay labis na paggamit, nais kong i-backup ang aking / etc / direktoryo para sa anumang mga pagbabago na maaaring nagawa ko upang pangalanan, sendmail, network, atbp, / data at ang aking dirs sa bahay.
Hakbang 4: I-automate
Malinaw na ayaw mong gawin ito sa pamamagitan ng kamay. Magsusulat kami ng isang script. Una sa bagay sa script, susuriin namin upang makita na naka-mount ang usb drive, at huminto kung hindi. #! / bin / bash # Script sa backup sa usb driveBACKUPBASE = "/ backups" #check upang makita kung naka-mount ang backup na target. kung `df -h | grep $ BACKUPBASE> / dev / null `pagkatapos ay i-echo ang" Simula ng $ 0 `date`" iba pa ang echo "ERROR: $ BACKUPBASE hindi naka-mount ang" echo "$ 0 paglabas sa` date` "exit 1fi
Hakbang 5: Sumulat ng isang Pag-andar
Susunod magsusulat kami ng isang pagpapaandar upang aktwal na gawin ang backup. pag-andar backup {DEST = $ 1 $ 2 SOURCE = $ 2 echo "Src: $ SOURCE" kung [-d $ DEST] pagkatapos ay i-echo ang "Dest: $ DEST" iba mkdir -p $ DEST echo "Dest: $ DEST -created" OPTS = " --force "fi #Perform backup rdiff-backup -v2 --exclude-special-files $ OPTS $ SOURCE $ DEST #Cleanup na mga file na bersyon na mas matanda kaysa sa 4weeks rdiff-backup -v2 - alisin ang mas matanda kaysa sa 4W --force $ DEST #Print ng isang ulat ng kung ano ang aming nai-back up at nalinis ang backup na backup - listahan-binago-mula noong 0D23h00m $ DEST}
Hakbang 6: Sabihin Mo sa Script Alin ang Direksyon sa Pag-backup
backup $ BACKUPBASE / databackup $ BACKUPBASE / etcbackup $ BACKUPBASE / usr / localbackup $ BACKUPBASE / home
Hakbang 7: Ang Buong Bagay na Magkasama Ngayon
#! / bin / bash # Script sa backup sa usb driveBACKUPBASE = "/ backups" #Suriin upang makita kung naka-mount ang backup drive. kung `df -h | grep $ BACKUPBASE> / dev / null `pagkatapos ay i-echo ang" Simula ng $ 0 `date`" pa ang echo "ERROR: $ BACKUPBASE na hindi naka-mount na" echo "$ 0 paglabas ng` date` "exit 1fifunction backup {DEST = $ 1 $ 2 SOURCE = $ 2 echo" Src: $ SOURCE "kung [-d $ DEST] pagkatapos ay i-echo ang" Dest: $ DEST "pa mkdir -p $ DEST echo" Dest: $ DEST -created "OPTS =" - force "fi #Perform backup rdiff-backup -v2 --exclude-special-files $ OPTS $ SOURCE $ DEST #Cleanup bersyon ng mga file na mas matanda sa 4weeks rdiff-backup -v2 --katanggal ang mas matanda kaysa sa 4W --force $ DEST #Print a report of what we back up and clean up rdiff-backup --list-binago-mula 0D23h00m $ DEST} backup $ BACKUPBASE / databackup $ BACKUPBASE / etcbackup $ BACKUPBASE / usr / localbackup $ BACKUPBASE / home
Hakbang 8: Idagdag sa Cron
[root @ HOST script] # crontab -e10 1 * * * /usr/local/scripts/backup-rdiff.sh> /var/log/backup.log 2> & 1
Hakbang 9: Ibalik
Upang maibalik ang pinakabagong bersyon maaari mo lamang kopyahin ang file mula sa backup na direktoryo. Kung nais mo ang isang bersyon mula sa 2 araw na nakalipas: rdiff-backup -r 2D /backup/etc/named.conf /etc/named.confSimple at napaka-epektibo.