Tip: Start typing to get instant search results.
Πως παίρνω και επαναφέρω backup του public_html μέσω SSH
Ο φάκελος public_html, όπως ίσως ήδη να γνωρίζετε, είναι ο βασικός φάκελος του λογαριασμού φιλοξενίας σας, όπου βρίσκονται όλα τα αρχεία του site σας. Υπάρχουν περιπτώσεις όπου πριν κάνετε σημαντικές αλλαγές στο website σας, μπορεί να θέλετε να πάρετε πρώτα ένα backup, ώστε να μπορείτε να επαναφέρετε τα αρχεία σας στην κατάσταση που ήταν πριν τις αλλαγές σας.
Παρακάτω παρουσιάζουμε μερικά έτοιμα παραδείγματα για τη δημιουργία ενός συμπιεσμένου backup του φακέλου public_html μέσω SSH, χρησιμοποιώντας την εντολή tar. Να σημειωθεί ότι στο backup αυτό θα βρίσκονται μόνο τα αρχεία του site σας. Για ένα πλήρες backup χρειάζεστε και αντίγραφο της βάσης δεδομένων.
Έλεγχος διαθέσιμου χώρου πριν το backup
Πριν δημιουργήσετε ένα backup, είναι σημαντικό να βεβαιωθείτε ότι υπάρχει αρκετός ελεύθερος χώρος στον λογαριασμό/server σας. Αν αρχίσετε να κάνετε backup και γεμίσει ο δίσκος σας, τότε αυτό μπορεί να προκαλέσει δυσλειτουργία στο website σας.
Για να δείτε τον διαθέσιμο χώρο δίνετε στο SSH την εντολή:
df -h
Για να δείτε πόσο χώρο πιάνει ο φάκελος public_html μπορείτε να τρέξετε:
du -hs public_html/
Επειδή θα χρησιμοποιήσουμε συμπίεση, το μέγεθος του backup θα είναι σίγουρα μικρότερο από το μέγεθος του public_html αλλά είναι καλό να έχετε τουλάχιστον ισάξιο ελεύθερο χώρο για ασφάλεια.
Τα παραδείγματα προϋποθέτουν ότι βρίσκεστε στο home directory του χρήστη σας. Αρκεί απλά να τρέξετε την παρακάτω εντολή για να μεταβείτε στο home directory σας.
cd
Πλήρες backup του public_html
Για να δημιουργήσετε ένα συμπιεσμένο backup ολόκληρου του public_html:
tar -czf public_html-backup.tar.gz public_html/
Το αρχείο public_html-backup.tar.gz θα δημιουργηθεί μέσα στο home directory σας.
Εξαίρεση φακέλου από το backup (exclude)
Σε αρκετές περιπτώσεις δεν χρειάζεται να συμπεριλάβουμε cache ή προσωρινά αρχεία στο backup.
Για παράδειγμα, για να εξαιρέσουμε τον φάκελο public_html/var/cache αρκεί να τροποποιήσουμε την παραπάνω εντολή ως εξής:
tar -czf public_html-backup.tar.gz --exclude='public_html/var/cache' public_html/
Εξαίρεση πολλαπλών φακέλων
Μπορούμε αντίστοιχα να εξαιρέσουμε περισσότερους φακέλους προσθέτοντας πολλαπλές παραμέτρους --exclude. Αυτό είναι ιδιαίτερα χρήσιμο σε Magento, όπου οι φάκελοι cache και logs μπορεί να είναι αρκετά μεγάλοι:
tar -czf public_html-backup.tar.gz --exclude='public_html/var/cache' --exclude='public_html/var/log' public_html/
Έλεγχος & Επαλήθευση του backup
Καλό είναι να επιβεβαιώσετε ότι το backup δημιουργήθηκε σωστά. Για να δείτε το μέγεθος του αρχείου:
ls -lh public_html-backup.tar.gz
Για να δείτε μια λίστα με τα περιεχόμενα του backup:
tar -tzf public_html-backup.tar.gz | head
Επαναφορά (restore) του backup
Για να επαναφέρετε τα αρχεία σας από το backup, μεταβείτε πρώτα στο home directory σας:
cd
Προσοχή: Η αποσυμπίεση του tar αντικαθιστά (overwrite) τα υπάρχοντα αρχεία με το ίδιο όνομα, αλλά δεν διαγράφει αρχεία που υπάρχουν ήδη στο public_html και δεν περιλαμβάνονται στο backup.
Αν θέλετε επαναφορά ακριβώς στην κατάσταση του backup, προτείνουμε για ασφάλεια να μετονομάσετε πρώτα τον υπάρχοντα public_html φάκελο αντί να τον διαγράψετε (η μετονομασία θα προκαλέσει προσωρινά μη διαθεσιμότητα του website μέχρι να ολοκληρωθεί η αποσυμπίεση που ακολουθεί):
mv public_html public_html-old
Έπειτα αποσυμπιέστε το backup:
tar -xzf public_html-backup.tar.gz
Επειδή το backup δημιουργήθηκε από το home directory και περιέχει τον φάκελο public_html/, η εντολή θα ξαναδημιουργήσει τον φάκελο public_html με τα αρχεία του backup.
Αφού επιβεβαιώσετε ότι το site λειτουργεί σωστά, μπορείτε να διαγράψετε τον παλιό φάκελο:
rm -rf public_html-old
Επαναφορά συγκεκριμένου αρχείου ή φακέλου
Αν χρειάζεται να επαναφέρετε μόνο ένα αρχείο (π.χ. το wp-config.php) χωρίς να πειράξετε τα υπόλοιπα, μπορείτε να το εξάγετε μεμονωμένα:
tar -xzf public_html-backup.tar.gz public_html/wp-config.php
Αντίστοιχα, για έναν ολόκληρο υποφάκελο:
tar -xzf public_html-backup.tar.gz public_html/wp-content/themes/
Επαλήθευση μετά την επαναφορά
Μετά την επαναφορά, ελέγξτε ότι τα αρχεία υπάρχουν και ότι το site φορτώνει κανονικά:
ls -lh public_html/
Διαγραφή του backup από τον server
Αφού τελειώσετε με την χρήση του backup και δεν το χρειάζεστε πλέον, καλό είναι να το διαγράψετε από τον server, ώστε να μην πιάνει άσκοπα χώρο:
rm public_html-backup.tar.gz