Εγκατάσταση Restic backup σε Debian ή Ubuntu για cloud backups (BackBlaze B2)

H εφαρμογή Restic είναι ένα ιδιαίτερα εύχρηστο και σχετικά απλό εργαλείο που μας επιτρέπει να παίρνουμε backup ένα Linux μηχάνημα σε τοπικά μέσα ή στο cloud

Η εφαρμογή είναι διαθέσιμη και στα Windows παρόλα αυτά οι δυνατότητες της είναι περιορισμένες οπότε η χρήση της δεν συνίσταται

Παρακάτω θα δούμε τα βασικά βήματα για να χρησιμοποιήσουμε την εφαρμογή για να παίρνουμε remote backup στο cloud και πιο συγκεκριμένα στο BackBlaze B2. Περισσότερες πληροφορίες υπάρχουν στον ιστότοπο της εφαρμογής για όποιον ενδιαφέρεται

https://restic.net/

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