Περιγραφή
Ενότητες Crontab
Το Vultr προσφέρει αυτόματη δημιουργία αντιγράφων ασφαλείας ως επιλογή για οποιοδήποτε VPS της σειράς Performance. Αυτό το άρθρο παρέχει, εκτός από αυτήν τη δυνατότητα, μια επιλογή αυτόματης δημιουργίας αντιγράφων ασφαλείας καθημερινής βάσης δεδομένων στον διακομιστή, καθώς και αποστολής τους μέσω FTP στον διακομιστή αντιγράφων ασφαλείας ή ακόμα και στους κεντρικούς υπολογιστές αρχείων.
ΣΦΑΙΡΙΚΗ ΕΙΚΟΝΑ
- Τα αυτόματα αντίγραφα ασφαλείας εκτελούνται καθημερινά. Ο χρόνος δημιουργίας του αντιγράφου ασφαλείας μπορεί να διαμορφωθεί.
- Πολλοί κεντρικοί υπολογιστές αρχείων προσφέρουν μεταφορά αρχείων μέσω FTP, ώστε να μπορείτε να στέλνετε αυτόματα τη βάση δεδομένων σας στον προσωπικό σας λογαριασμό.
- Στέλνει ένα email μετά την ολοκλήρωση της δημιουργίας αντιγράφων ασφαλείας.
Περιγραφή
Πρώτα, δημιουργήστε και αλλάξτε τον /backupsκατάλογο.
mkdir /backups
cd /backups
Στη συνέχεια, χρησιμοποιώντας nanoή τον αγαπημένο σας επεξεργαστή, δημιουργήστε το αρχείο σεναρίου:
nano backupdb.sh
Τώρα, αντιγράψτε και επικολλήστε αυτό το σενάριο και επεξεργαστείτε τις μεταβλητές στο επάνω μέρος σύμφωνα με τις ρυθμίσεις σας:
#!/bin/bash
############### Infos - Edit them accordingly ########################
DATE=`date +%Y-%m-%d_%H%M`
LOCAL_BACKUP_DIR="/backups"
DB_NAME="database_name"
DB_USER="root"
DB_PASSWORD="root_password"
FTP_SERVER="111.111.111.111"
FTP_USERNAME="ftp-user"
FTP_PASSWORD="ftp-pass"
FTP_UPLOAD_DIR="/upload"
LOG_FILE=/backups/backup-DATE.log
############### Local Backup ########################
mysqldump -u $DB_USER -p$DB_PASSWORD $DB_NAME | gzip > $LOCAL_BACKUP_DIR/$DATE-$DB_NAME.sql.gz
############### UPLOAD to FTP Server ################
ftp -nv $FTP_SERVER << EndFTP
user "$FTP_USERNAME" "$FTP_PASSWORD"
binary
cd $FTP_UPLOAD_DIR
lcd $LOCAL_BACKUP_DIR
put "$DATE-$DB_NAME.sql.gz"
bye
EndFTP
############### Check and save log, also send an email ################
if test $? = 0
then
echo "Database Successfully Uploaded to the Ftp Server!"
echo -e "Database Successfully created and uploaded to the FTP Server!" | mail -s "Backup from $DATE" your_email@email.com
else
echo "Error in database Upload to Ftp Server" > $LOG_FILE
fi
Αφού ολοκληρώσετε την επεξεργασία του σεναρίου και αποθηκεύσετε το αρχείο, κάνουμε το αρχείο εκτελέσιμο εφαρμόζοντας την ακόλουθη εντολή:
chmod +x backupdb.sh
Μπορείτε να το δοκιμάσετε τώρα πληκτρολογώντας στο τερματικό.
/backups/backupdb.sh
... και αφού ολοκληρώσει την εκτέλεση, πληκτρολογήστε ls -aγια να δείτε εάν έχει δημιουργηθεί αντίγραφο ασφαλείας της βάσης δεδομένων. Επιβεβαιώστε επίσης εάν στάλθηκε στον διακομιστή FTP σας.
Εάν όλα λειτουργούσαν καλά μέχρι στιγμής, μπορούμε να τα κάνουμε να εκτελούνται καθημερινά χρησιμοποιώντας το Crontab.
Ενότητες Crontab
Μπορείτε να επεξεργαστείτε το crontab σας με την ακόλουθη εντολή:
crontab -e
Αυτό θα εμφανίσει ένα πρόγραμμα επεξεργασίας κειμένου όπου μπορείτε να εισάγετε το πρόγραμμά σας με κάθε εργασία σε μια νέα γραμμή.
Κάθε ένα από τα τμήματα χωρίζεται από ένα διάστημα, με το τελικό τμήμα να έχει ένα ή περισσότερα κενά σε αυτό. Έτσι διαμορφώνεται μια εργασία cron:
λεπτό (0-59), ώρα (0-23, 0 = μεσάνυχτα), ημέρα (1-31), μήνα (1-12), καθημερινές (0-6, 0 = Κυριακή), εντολή
Έτσι, στο πρόγραμμα επεξεργασίας, πληκτρολογήστε ή επικολλήστε αυτήν τη γραμμή:
30 02 * * * /backups/backupdb.sh
Το παραπάνω παράδειγμα θα εκτελείται /backups/backupdb.shστις 02:30 π.μ. κάθε μέρα κάθε μήνα. Φυσικά, μπορείτε να αλλάξετε την ώρα όπως προτιμάτε.
Τώρα απλώς αποθηκεύστε και κλείστε το αρχείο. Την προγραμματισμένη ώρα, θα γίνει η δημιουργία αντιγράφων ασφαλείας.