Σε περίπτωση που διαχειρίζεστε server με πολλές βάσεις δεδομένων, θα έχετε πιθανότατα έρθει αντιμέτωποι με το πρόβλημα της δημιουργίας αντίγραφων ασφαλείας.
Αν έχετε 2-3 βάσεις δεδομένων μπορείτε να χρησιμοποιήσετε το phpMyAdmin, να κάνετε κλικ στο όνομα της κάθε βάσης δεδομένων, μετά κλικ στο «Export» tab και μετά να κατεβάσετε στον σκληρό σας δίσκο την database. Αν όμως έχετε 10, 20, 30 ή και παραπάνω βάσεις δεδομένων, αυτή η διαδικασία είναι πολύ χρονοβόρα.
Εναλλακτικά, μπορείτε να δημιουργήσετε ένα αρχείο κειμένου (.txt document) μέσα στο οποίο θα αποθηκεύσετε τον ακόλουθο κώδικα:
1 2 3 4 5 6 |
mysqldump my_first_database > my_first_database.sql mysqldump my_second_database > my_second_database.sql mysqldump my_other_database > my_other_database.sql mysqldump that_other_database > that_other_database.sql ... ... |
Η εντολή mysqldump
δημιουργεί ένα αντίγραφο της βάσης δεδομένων (vasi_dedomenwn_1, vasi_dedomenwn_2 κλπ) και το αποθηκεύει ως αρχείο .sql (vasi_dedomenwn_1.sql, vasi_dedomenwn_2.sql κλπ).
Για αρχή λοιπόν, δημιουργήστε ένα .txt αρχείο στο οποίο σε κάθε σειρά θα έχετε την κάθε βάση του server σας που θέλετε να αποθηκεύσετε. Αυτό το αρχείο θα το χρησιμοποιήσουμε στην πορεία.
Τα βήματα για τη δημιουργία αντιγράφων ασφαλείας είναι τα εξής:
1. Συνδεόμαστε με ssh με τον server μας (όπου xxx.xxx.xxx.xxx η IP του server σας):
1 |
ssh some_ssh_username@xxx.xxx.xxx.xxx |
2. Δημιουργούμε στον server ένα directory στο οποίο θα αποθηκεύσουμε τα αντίγραφα ασφαλείας των βάσεων δεδομένων. Ας το ονομάσουμε ‘db_backups’ και ας το φτιάξουμε μέσα στον φάκελο ‘/var’:
1 |
mkdir /var/db_backups |
3. Μεταβαίνουμε στο directory το οποίο μόλις φτιάξαμε.
1 |
cd /var/db_backups |
4. Ανοίγουμε το .txt αρχείο που φτιάξαμε και κάνουμε copy-paste το κείμενο με τα mysqldumps:
1 2 3 4 5 6 7 |
mysqldump my_first_database > my_first_database.sql mysqldump my_second_database > my_second_database.sql mysqldump my_other_database > my_other_database.sql ... ... ... mysqldump my_final_database > my_final_database.sql |
Ο server θα αρχίσει να δημιουργεί τα αντίγραφα των βάσεων δεδομένων σε μορφή .sql και να τα αποθηκεύει στο directory μέσα στο οποίο βρισκόμαστε (το db_backups). Μόλις ολοκληρωθεί η διαδικασία θα εμφανιστεί πάλι το command prompt.
5. Τώρα πλέον μπορούμε με ένα πρόγραμμα SFTP να κατεβάσουμε τα αντίγραφα ασφαλείας από τον server στο σκληρό μας δίσκο. Εναλλακτικά, μπορούμε να κάνουμε SFTP από το terminal ως εξής:
1 |
sftp some_sftp_username@xxx.xxx.xxx.xxx |
Μεταβαίνουμε στο directory ‘/var’ με:
1 |
cd /var |
και μετά ξεκινάμε τη διαδικασία «κατεβάσματος» των περιεχομένων του ‘/var/db_backups’ στον σκληρό μας δίσκος με:
1 |
get -r db_backups |
Και στο τέλος κάνουμε:
1 |
exit |
Για μεγαλύτερη ταχύτητα μπορούμε να συμπιέσουμε τον φάκελο ‘db_backups’ στον server και να τον κατεβάσουμε ως ένα αρχείο.
Τέλος, δεν ξεχνάμε να διαγράψουμε τα αντίγραφα ασφαλείας από τον server. Με SSH ανοίγουμε το directory ‘/var/db_backups’ και πληκτρολογούμε:
1 |
rm /var/db_backups/* |
Αυτή η εντολή θα διαγράψει ΟΛΑ τα αρχεία που βρίσκονται μέσα στο directory στο οποίο βρισκόμαστε, οπότε σιγουρευτείτε πρώτα ότι βρίσκεστε μέσα στο ‘/var/db_backups’.