Πόσο εύκολα δημιουργείτε αντίγραφα ασφαλείας του Linux Box σας χρησιμοποιώντας Rdiff-backup: 9 βήματα
Πόσο εύκολα δημιουργείτε αντίγραφα ασφαλείας του Linux Box σας χρησιμοποιώντας Rdiff-backup: 9 βήματα
Anonim

Αυτό το διδακτικό θα σας δείξει πώς να εκτελέσετε ένα απλό πλήρες σύστημα δημιουργίας αντιγράφων ασφαλείας και αποκατάστασης σε linux χρησιμοποιώντας rdiff-backup και μονάδα usb.

Βήμα 1: Υποθέσεις

Θα υποθέσω ένα σύστημα που χρησιμοποιεί yum για εγκατάσταση και έχει τοποθετήσει τη μονάδα usb ως /mnt//backup. Χρησιμοποιώ fedora, αλλά μπορείτε να χρησιμοποιήσετε οτιδήποτε και απλά να εγκαταστήσετε rdiff-backup όπως θέλετε. Επίσης, είναι διαθέσιμο από τη λήψη εδώ:

Βήμα 2: Εγκαταστήστε το αντίγραφο ασφαλείας Rdiff

Εγκατάσταση rdiff-backup [root@HOST scripts]# yum install rdiff-backup

Βήμα 3: Προσδιορίστε τους καταλόγους που θέλετε να δημιουργήσετε αντίγραφα ασφαλείας

Μπορείτε να δημιουργήσετε αντίγραφα ασφαλείας ολόκληρου του συστήματος, αλλά αυτό μπορεί να είναι υπερβολικό, θέλω να δημιουργήσω αντίγραφα ασφαλείας του καταλόγου μου /etc /για τυχόν αλλαγές που μπορεί να έχω κάνει σε ονόματα, sendmail, δίκτυο κ.λπ., /δεδομένα και στο σπίτι μου.

Βήμα 4: Αυτοματοποίηση

Προφανώς δεν θέλετε να το κάνετε με το χέρι. Θα γράψουμε ένα σενάριο. Το πρώτο πράγμα στο σενάριο, θα ελέγξουμε για να δείτε ότι η μονάδα usb είναι τοποθετημένη και τερματίστε αν όχι. #!/bin/bash#Script to backup to usb driveBACKUPBASE = "/backups"#ελέγξτε για να δείτε αν ο εφεδρικός στόχος είναι τοποθετημένος.αν `df -h | grep $ BACKUPBASE>/dev/null `στη συνέχεια ηχώ" Έναρξη $ 0 `ημερομηνία`" αλλιώς ηχώ "ΣΦΑΛΜΑ: $ BACKUPBASE δεν έχει τοποθετηθεί" echo "$ 0 εξόδου από" ημερομηνία "" έξοδο 1fi

Βήμα 5: Γράψτε μια συνάρτηση

Στη συνέχεια θα γράψουμε μια συνάρτηση για να κάνουμε πραγματικά το αντίγραφο ασφαλείας. δημιουργία αντιγράφων ασφαλείας {DEST = $ 1 $ 2 SOURCE = $ 2 ηχώ "Src: $ SOURCE" αν [-d $ DEST] στη συνέχεια ηχεί "Dest: $ DEST" else mkdir -p $ DEST echo "Dest: $ DEST -δημιουργήθηκε" OPTS = " --force "fi #Perform backup rdiff-backup -v2-exclude-special-files $ OPTS $ SOURCE $ DEST #Cleanup έκδοση αρχείων παλαιότερων των 4 εβδομάδων rdiff-backup -v2 --αφαίρεση-παλαιότερου-από 4W --force $ DEST #Εκτύπωση αναφοράς για το τι δημιουργήσαμε αντίγραφα ασφαλείας και καθαρίσαμε rdiff-backup-λίστα-άλλαξε-από 0D23h00m $ DEST}

Βήμα 6: Πείτε στο σενάριο ποια είναι η δημιουργία αντιγράφων ασφαλείας

backup $ BACKUPBASE /databaseackup $ BACKUPBASE /etcbackup $ BACKUPBASE /usr /localbackup $ BACKUPBASE /home

Βήμα 7: Το σύνολο τώρα τώρα

#!/bin/bash#Script to backup to usb driveBACKUPBASE = "/backups"#Ελέγξτε για να δείτε αν έχει τοποθετηθεί εφεδρική μονάδα δίσκου. αν `df -h | grep $ BACKUPBASE>/dev/null `στη συνέχεια ηχώ" Έναρξη $ 0 `ημερομηνία`" αλλιώς ηχώ "ΣΦΑΛΜΑ: $ BACKUPBASE δεν έχει τοποθετηθεί" echo "$ 0 exiting` date '"exit 1fifunction backup {DEST = $ 1 $ 2 SOURCE = $ 2 echo" Src: $ SOURCE "if [-d $ DEST] then echo" Dest: $ DEST "else mkdir -p $ DEST echo" Dest: $ DEST -created "OPTS ="-force "fi #Perform backup rdiff-backup -v2 --exclude-special-files $ OPTS $ SOURCE $ DEST #Cleanup έκδοση αρχείων παλαιότερων από 4 εβδομάδες rdiff-backup -v2 --αφαίρεση-παλαιότερων από 4W --force $ DEST #Εκτύπωση αναφοράς για το τι δημιουργήσαμε αντίγραφα ασφαλείας και καθαρίσαμε rdiff-backup-λίστα-άλλαξε-από 0D23h00m $ DEST} backup $ BACKUPBASE /databaseackup $ BACKUPBASE /etcbackup $ BACKUPBASE /usr /localbackup $ BACKUPBASE /home

Βήμα 8: Προσθήκη στο Cron

[root@HOST scripts]# crontab -e10 1 * * * /usr/local/scripts/backup-rdiff.sh> /var/log/backup.log 2> & 1

Βήμα 9: Επαναφορά

Για να επαναφέρετε την πιο πρόσφατη έκδοση, μπορείτε απλά να αντιγράψετε το αρχείο από τον εφεδρικό κατάλογο. Αν θέλετε μια έκδοση πριν από 2 ημέρες: rdiff -backup -r 2D/backup/etc/named.conf /etc/named.confΑπλή και πολύ αποτελεσματική.