rsnapshot HOWTO
rsnapshot
http://www.rsnapshot.org/downl[..]napshot-1.3.1.tar.gz
http://www.rsnapshot.org/howto[..]apshot-HOWTO.en.html
Περιγραφή
Το λογισμικό rsnapshot αποτελεί ένα πρόγραμμα με το οποίο μπορούμε να
δημιουργούμε αντίγραφα καταλόγων είτε τοπικά είτε αποκρυσμένα. Είναι γραμμένο σε perl
και κάνει χρήση του προγράμματος rsync. Δημιουργεί ένα πρώτο αντίγραφο και το
κάνει rotate είτε ανά ώρα, είτε ανά ημέρα, είτε ανά εβδομάδα, είτε ανά μήνα ελέγχοντας τα delta των αρχείων που
έχει κάνει rotate με τα αρχεία των αρχικών καταλόγων. Κάνοντας χρήση hard link δίνει την εικόνα ενός πλήρη
αντίγράφου για κάθε κατάλογο που έχει πάρει backup. Επίσης να σημειώσουμε ότι το latest είναι ΠΑΝΤΑ το
hourly.0. Η ιδιαιτερότητα που έχει το rsnapshot είναι ότι μπορεί να εκτελέσει και backup-script για να πάρει snapshot,
έτσι μπορούμε να παράγουμε έναν κατάλογο με MySQL Dumps για παράδειγμα.
Εγκατάσταση
wget -c http://www.rsnapshot.org/downloads/rsnapshot-1.3.1.tar.gz tar zxvf /rsnapshot-1.3.1.tar.gz cd /rsnapshot-1.3.1 ./configure make install cp /usr/local/etc/rsnapshot.conf.default /usr/local/etc/rsnapshot.conf
Ρύθμιση
Το αρχείο ρυθμίσεων του rsnapshot είναι το παρακάτω:
/usr/local/etc/rsnapshot.conf
Έχει πάρα πολύ καλή τεκμηρίωση και παρακάτω θα αναφέρουμε μόνο τα πιο σημαντικά σημεία.
ΠΡΟΣΟΧΗ: Μόνο tab's ανάμεσα στα πεδία και πάντα / στο τέλος κάθε καταλόγου.
- snapshot_root, είναι ο κατάλογος στον οποίο θα αποθηκεύονται τα snapshots
- interval, αποτελεί το σύνολο των snapshot για κάθε χρονική κατηγορία
- verbose, μεταβλητή με την οποία δηλώνουμε το επίπεδο των λεπτομεριών που θέλουμε να βλέπουμε σε κάθε snapshot
- logfile, δηλώνουμε το αρχείο στο οποίο θα καταγράφονται τα logs
- backup, δηλώνουμε τον κατάλογο που θέλουμε να προσθέσουμε στο snapshot καθώς και εάν ο κατάλογος είναι τοπικός ή απομακρυσμένος
cron
Μπορούμε να πάρουμε ένα snapshot όποτε θέλουμε πληκτρολογώντας την παρακάτω εντολή:
# rsnapshot hourly
Αλλά η καλύτερη λύση είναι να μπεί στο cron.
ένα παράδειγμα είναι το παρακάτω:
0 */1 * * * /usr/bin/rsnapshot -V hourly 15 3 * * * /usr/bin/rsnapshot -V daily 15 4 * * 0 /usr/bin/rsnapshot -V weekly 15 5 1 * * /usr/bin/rsnapshot -V monthly
Στο παραπάνω παράδειγμα κρατάμε snapshot ανά ώρα, κάθε μέρα στις 3:15 το βράδυ, κάθε κυριακή στις 4:15 (εβδομαδιαίο)
και κάθε πρώτη του μήνα στις 5:15 το βράδυ.
Example rsnapshot.conf
Παρακάτω παραθέτω ένα πλήρες παράδειγμα του /etc/rsnapshot.conf
config_version 1.2 snapshot_root /snapshots/ cmd_cp /bin/cp cmd_rm /bin/rm cmd_rsync /usr/bin/rsync cmd_ssh /usr/local/bin/ssh cmd_logger /usr/bin/logger cmd_du /usr/bin/du cmd_rsnapshot_diff /usr/bin/rsnapshot-diff interval hourly 8 interval daily 7 interval weekly 4 interval monthly 1 verbose 3 loglevel 3 logfile /var/log/rsnapshot.log lockfile /var/run/rsnapshot.pid backup /etc/ localhost/ backup /boot/ localhost/ backup /var/ localhost/ backup /usr/ localhost/