Innehållsförteckning:
2025 Författare: John Day | [email protected]. Senast ändrad: 2025-01-13 06:58
Denna instruerbara visar dig hur du kör ett enkelt fullfjädrat backup- och återställningssystem på Linux med rdiff-backup och en usb-enhet.
Steg 1: Antaganden
Jag kommer att anta ett system som använder yum för installation och har monterat din usb-enhet som /mnt//backup. Jag använder fedora, men du kan använda vad som helst och bara installera rdiff-backup hur du än vill. Det är också tillgängligt att ladda ner här:
Steg 2: Installera Rdiff-backup
Installera rdiff-backup [root@HOST-skript]# yum installera rdiff-backup
Steg 3: Identifiera de kataloger du vill säkerhetskopiera
Du kan säkerhetskopiera hela systemet, men det kan vara överkill, jag vill säkerhetskopiera min /etc /katalog för eventuella ändringar jag kan ha gjort till namngivna, sendmail, nätverk, etc, /data och mina hemdir.
Steg 4: Automatisera
Det är klart att du inte vill göra detta för hand. Vi kommer att skriva ett manus. Först i skriptet kommer vi att kontrollera att USB -enheten är monterad och sluta om inte. #!/bin/bash#Skript för att säkerhetskopiera till usb driveBACKUPBASE = "/backups" #kolla om backupmålet är monterat.if `df -h | grep $ BACKUPBASE>/dev/null `echo" Start $ 0 `date`" annars echo "FEL: $ BACKUPBASE inte monterad" echo "$ 0 exit" date "" exit 1fi
Steg 5: Skriv en funktion
Därefter skriver vi en funktion för att faktiskt göra säkerhetskopian. funktionsbackup {DEST = $ 1 $ 2 SOURCE = $ 2 echo "Src: $ SOURCE" om [-d $ DEST] sedan eko "Dest: $ DEST" annars mkdir -p $ DEST echo "Dest: $ DEST -skapat" OPTS = " --force "fi #Utför säkerhetskopia rdiff-backup -v2 --exclude-special-files $ OPTS $ SOURCE $ DEST #Cleanup-version filer äldre än 4 veckor rdiff-backup -v2 --remove-äldre än 4W --force $ DEST #Skriv ut en rapport om vad vi säkerhetskopierade och städade rdiff-backup --list-ändrad-sedan 0D23h00m $ DEST}
Steg 6: Berätta för skriptet som du vill säkerhetskopiera
backup $ BACKUPBASE /databackup $ BACKUPBASE /etcbackup $ BACKUPBASE /usr /localbackup $ BACKUPBASE /home
Steg 7: Det hela tillsammans nu
#!/bin/bash#Skript för att säkerhetskopiera till usb driveBACKUPBASE = "/backups" #Kolla om backupenheten är monterad. om `df -h | grep $ BACKUPBASE>/dev/null `echo" Starta $ 0 `date`" annars echo "ERROR: $ BACKUPBASE inte monterad" echo "$ 0 exiting` date` "exit 1function backup {DEST = $ 1 $ 2 SOURCE = $ 2 echo" Src: $ SOURCE "if [-d $ DEST] echo" Dest: $ DEST "annars mkdir -p $ DEST echo" Dest: $ DEST -skapat "OPTS ="-force "fi #Utför backup rdiff-backup -v2 --exclude-special-files $ OPTS $ SOURCE $ DEST #Rengöringsversionsfiler äldre än 4 veckor rdiff-backup -v2 --remove-äldre än 4W-tvinga $ DEST #Skriv ut en rapport om vad vi säkerhetskopierade och städade rdiff-backup --list-ändrad-sedan 0D23h00m $ DEST} backup $ BACKUPBASE /databackup $ BACKUPBASE /etcbackup $ BACKUPBASE /usr /localbackup $ BACKUPBASE /home
Steg 8: Lägg till i Cron
[root@HOST -skript]# crontab -e10 1 * * * /usr/local/scripts/backup-rdiff.sh> /var/log/backup.log 2> & 1
Steg 9: Återställ
För att återställa den senaste versionen kan du helt enkelt kopiera filen från säkerhetskopian. Om du vill ha en version från 2 dagar sedan: rdiff -backup -r 2D /backup/etc/named.conf /etc/named.confSimple och mycket effektivt.