Përshkrim
Seksionet Crontab
Vultr ofron kopje rezervë automatike si një opsion për çdo VPS të Serisë së Performancës. Ky artikull ofron, përveç kësaj veçorie, një mundësi për të krijuar automatikisht kopje rezervë të bazës së të dhënave në server dhe gjithashtu dërgimin e tyre përmes FTP në serverin tuaj rezervë ose madje edhe hostet e skedarëve.
Vështrim i përgjithshëm
- Rezervimet automatike funksionojnë çdo ditë. Koha që ndodh kopjimi është e konfigurueshme.
- Shumë hoste skedarësh ofrojnë transferim skedarësh përmes FTP, kështu që ju mund ta dërgoni automatikisht bazën e të dhënave në llogarinë tuaj personale.
- Ai dërgon një email pas përfundimit të kopjimit.
Përshkrim
Së pari, krijoni dhe ndryshoni në /backupsdrejtori.
mkdir /backups
cd /backups
Më pas, duke përdorur nanoose redaktorin tuaj të preferuar, krijoni skedarin e skriptit:
nano backupdb.sh
Tani, kopjoni dhe ngjisni këtë skript dhe modifikoni variablat në krye sipas cilësimeve tuaja:
#!/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
Pasi të keni përfunduar redaktimin e skriptit dhe të keni ruajtur skedarin, ne e bëjmë skedarin të ekzekutueshëm duke zbatuar komandën e mëposhtme:
chmod +x backupdb.sh
Mund ta provoni tani duke shtypur në terminal.
/backups/backupdb.sh
... dhe pasi të përfundojë ekzekutimi, shkruani ls -apër të parë nëse baza e të dhënave është bërë kopje rezervë. Konfirmoni gjithashtu nëse është dërguar në serverin tuaj FTP.
Nëse gjithçka ka funksionuar mirë deri më tani, ne mund ta bëjmë atë të funksionojë çdo ditë duke përdorur Crontab.
Seksionet Crontab
Ju mund të modifikoni crontab-in tuaj me komandën e mëposhtme:
crontab -e
Kjo do të sjellë një redaktues teksti ku mund të futni orarin tuaj me secilën punë në një rresht të ri.
Secili prej seksioneve ndahet nga një hapësirë, ku pjesa e fundit ka një ose më shumë hapësira në të. Kjo është se si është paraqitur një punë e cron:
minutë (0-59), orë (0-23, 0 = mesnatë), ditë (1-31), muaj (1-12), ditë jave (0-6, 0 = e diel), komanda
Pra, në redaktues, shkruani ose ngjisni këtë rresht:
30 02 * * * /backups/backupdb.sh
Shembulli i mësipërm do të shfaqet/backups/backupdb.sh në orën 02:30 të mëngjesit çdo ditë të çdo muaji. Sigurisht, ju mund ta ndryshoni kohën sipas dëshirës.
Tani thjesht ruani dhe mbyllni skedarin. Në kohën e planifikuar, do të kryhet rezervimi.