H εφαρμογή Restic είναι ένα ιδιαίτερα εύχρηστο και σχετικά απλό εργαλείο που μας επιτρέπει να παίρνουμε backup ένα Linux μηχάνημα σε τοπικά μέσα ή στο cloud
Η εφαρμογή είναι διαθέσιμη και στα Windows παρόλα αυτά οι δυνατότητες της είναι περιορισμένες οπότε η χρήση της δεν συνίσταται
Παρακάτω θα δούμε τα βασικά βήματα για να χρησιμοποιήσουμε την εφαρμογή για να παίρνουμε remote backup στο cloud και πιο συγκεκριμένα στο BackBlaze B2. Περισσότερες πληροφορίες υπάρχουν στον ιστότοπο της εφαρμογής για όποιον ενδιαφέρεται
Eγκατάσταση σε Debian/Ubuntu
Η εγκατάσταση είναι αρκετά απλή.
Κάνουμε Login στο server μας
Βεβαιωνόμαστε ότι το Debian/Ubuntu που τρέχουμε έχει όλες τις τελευταίες αναβαθμίσεις
sudo apt-get update && sudo apt-get upgrade
Μετά εγκαθιστούμε την εφαρμογή με την παρακάτω εντολή :
sudo apt install restic fuse
Σημαντικό είναι να τρέξουμε και την παρακάτω εντολή για να βεβαιωθούμε ότι τρέχουμε την πιο πρόσφατη έκδοση
restic self-update
Configuring Restic για χρήση με BackBlaze B2 Cloud
Για να απλοποιήσουμε την χρήση της εφαρμογής συνίσταται να καταχωρήσουμε τις μεταβλητές που χρησιμοποιεί η εφαρμογή σε ένα *.env αρχείο και να το τρέξουμε με την εντολή source.
Με αυτό τον τρόπο δεν χρειάζεται να ορίζονται εκ νέου οι παράμετροι κάθε φορά που θέλουμε να τρέξουμε το πρόγραμμα
Το αρχείο θα έχει τέσσερεις γραμμές και οι παράμετροι που χρειαζόμαστε θα είναι ως εξής :
export B2_ACCOUNT_ID=”” (βάζουμε το account id από το API του bucket που θα χρησιμοποιήσουμε. Το bucket πρέπει να εχει ήδη φτιαχτεί από εμάς.
export B2_ACCOUNT_KEY=”” (βάζουμε το account key από το API του bucket που θα χρησιμοποιήσουμε.
export RESTIC_REPOSITORY=”b2:my-bucket” (Όπου My bucket = το όνομα του bucket που θα χρησιμοποιήσουμε, προφανώς εμείς βάζουμε το όνομα που θέλουμε)
export RESTIC_PASSWORD_FILE=/etc/restic-password Το αρχείο /etc/restic-password θα πρέπει να περιέχει μια γραμμή με το password μόνο.
Τα παραπάνω αρχεία πρέπει να είναι προσβάσιμα μόνο από τον root χρήστη οπότε ορίζουμε τα δικαιώματα ανάλογα
# chown root:root /etc/restic-env
# chown root:root /etc/restic-password
# chmod 700 /etc/restic-env
# chmod 700 /etc/restic-password
Εφόσον όλα είναι έτοιμα, η πρώτη ενέργεια είναι να κάνουμε initialize το repository (Δλδ το πλάνο των backups που θέλουμε να τρέχουμε)
# source /etc/restic-env
# restic -r b2:my-bucket init
ΣΗΜΑΝΤΙΚΟ: Για αν μπορέσουμε να έχουμε πρόσβαση στο repository θα πρέπει να θυμόμαστε το password που έχουμε βάλει παραπάνω. Αν χαθεί ο κωδικός δεν υπάρχει δυνατότητα ανάκτησης.
Backing up with Restic
Παράδειγμα : για να πάρουμε backup το /etc directory
restic -r b2:my-bucket backup /etc
Eαν έχουμε ορίσει τις παραμέτρους από πριν (εχοντας τρέξει την εντολή source) τότε δεν χρειάζεται να βάζουμε την RESTIC_REPOSITORY παράμετρο
Οπότε θα μπορούσαμε απλά να γράψουμε
# restic backup /etc
Αντίστοιχα μπορούμε να τρέχουμε την εντολή για όσα folders θέλουμε να πάρουμε backup ή ακόμα καλύτερα να βάλουμε τις εντολές αυτές σε ένα cron αρχείο ώστε να εκτελούνται αυτόματα ανά τακτά χρονικά διαστήματα
List Restic Backups
Για να δούμε την λίστα από όλα τα backups που έχουμε εκτελέσει στο server μας μπορούμε να χρησιμοποιήσουμε την εντολή :
# restic snapshots
(Παράδειγμα output της εντολής)
repository fd5c6a11 opened successfully, password is correct
ID Time Host Tags Paths
———————————————————————-
46221377 2022-06-10 07:54:01 restic-geo /usr/local
2a63bc2a 2022-06-23 08:18:30 restic-geo /etc
a1f60d81 2022-06-29 12:28:41 restic-geo /var/www
———————————————————————-
3 snapshots