Opis
Crontab odjeljci
Vultr nudi automatsko sigurnosno kopiranje kao opciju za bilo koji VPS Performance Series. Ovaj članak pruža, osim ove značajke, opciju za automatsko stvaranje dnevnih sigurnosnih kopija baze podataka na poslužitelju, te ih također šalje preko FTP-a na vaš poslužitelj za sigurnosne kopije ili čak na hostove datoteka.
Pregled
- Automatsko sigurnosno kopiranje radi se svakodnevno. Vrijeme nastanka sigurnosne kopije može se konfigurirati.
- Mnogi hostovi datoteka nude prijenos datoteka preko FTP-a, tako da svoju bazu podataka možete automatski poslati na svoj osobni račun.
- Šalje e-poštu nakon što je sigurnosna kopija završena.
Opis
Prvo stvorite i promijenite /backupsimenik.
mkdir /backups
cd /backups
Zatim, koristeći nanoili svoj omiljeni uređivač, kreirajte datoteku skripte:
nano backupdb.sh
Sada kopirajte i zalijepite ovu skriptu i uredite varijable na vrhu prema svojim postavkama:
#!/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
Nakon što završite s uređivanjem skripte i spremite datoteku, datoteku činimo izvršnom primjenom sljedeće naredbe:
chmod +x backupdb.sh
Možete ga testirati sada upisivanjem u terminal.
/backups/backupdb.sh
... i nakon što završi izvršenje, upišite ls -ada vidite je li baza podataka sigurnosna kopija. Također potvrdite je li poslan na vaš FTP poslužitelj.
Ako je do sada sve dobro funkcioniralo, možemo ga pokrenuti svakodnevno pomoću Crontaba.
Crontab odjeljci
Svoj crontab možete urediti sljedećom naredbom:
crontab -e
Ovo će prikazati uređivač teksta u koji možete unijeti svoj raspored sa svakim poslom u novom retku.
Svaki od odjeljaka odvojen je razmakom, a posljednji odjeljak ima jedan ili više razmaka. Ovako je postavljen cron posao:
minuta (0-59), sat (0-23, 0 = ponoć), dan (1-31), mjesec (1-12), dan u tjednu (0-6, 0 = nedjelja), naredba
Dakle, u uređivaču upišite ili zalijepite ovaj redak:
30 02 * * * /backups/backupdb.sh
Gornji primjer će se pokretati /backups/backupdb.shu 02:30 ujutro svakog dana u mjesecu. Naravno, možete promijeniti vrijeme kako želite.
Sada samo spremite i zatvorite datoteku. U zakazano vrijeme izvršit će se sigurnosna kopija.