Descripció
Seccions de Crontab
Vultr ofereix una còpia de seguretat automàtica com a opció per a qualsevol VPS de la sèrie Performance. Aquest article ofereix, a més d'aquesta funció, una opció per crear automàticament còpies de seguretat diàries de bases de dades al servidor i també enviar-les per FTP al servidor de còpia de seguretat o fins i tot als amfitrions de fitxers.
Visió general
- Les còpies de seguretat automàtiques s'executen diàriament. L'hora en què es produeix la còpia de seguretat és configurable.
- Molts amfitrions de fitxers ofereixen transferència de fitxers per FTP, de manera que podeu enviar automàticament la vostra base de dades al vostre compte personal.
- Envia un correu electrònic un cop finalitzada la còpia de seguretat.
Descripció
Primer, creeu i canvieu al /backupsdirectori.
mkdir /backups
cd /backups
A continuació, utilitzant nanoo el vostre editor preferit, creeu el fitxer de script:
nano backupdb.sh
Ara, copieu i enganxeu aquest script i editeu les variables de la part superior segons la vostra configuració:
#!/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
Després d'haver acabat d'editar l'script i haver desat el fitxer, fem que el fitxer sigui executable aplicant l'ordre següent:
chmod +x backupdb.sh
Podeu provar-ho ara escrivint al terminal.
/backups/backupdb.sh
... i després d'acabar l'execució, escriviu ls -aper veure si s'ha fet una còpia de seguretat de la base de dades. Confirmeu també si s'ha enviat al vostre servidor FTP.
Si tot ha funcionat bé fins ara, podem fer-lo funcionar diàriament mitjançant Crontab.
Seccions de Crontab
Podeu editar el vostre crontab amb l'ordre següent:
crontab -e
Això mostrarà un editor de text on podeu introduir la vostra programació amb cada feina en una línia nova.
Cada una de les seccions està separada per un espai, i la secció final té un o més espais. Així és com es distribueix un treball cron:
minut (0-59), hora (0-23, 0 = mitjanit), dia (1-31), mes (1-12), dia laborable (0-6, 0 = diumenge), comanda
Per tant, a l'editor, escriviu o enganxeu aquesta línia:
30 02 * * * /backups/backupdb.sh
L'exemple anterior s'executarà /backups/backupdb.sha les 02:30 del matí tots els dies de cada mes. Per descomptat, podeu canviar l'hora com vulgueu.
Ara només cal desar i tancar el fitxer. A l'hora programada, es realitzarà la còpia de seguretat.