CREATE USER 'root01'@'%' IDENTIFIED BY 'P@ssw0rd';
GRANT ALL PRIVILEGES ON *.* TO 'root01'@'%';
FLUSH PRIVILEGES;
Saran : Sebaiknya buat user linux khusus untuk keperluan backup. Jangan menggunakan root
ssh-keygen
ssh-copy-id root@192.168.1.111
backupfolder=/backup-db1
user=root01
password=P@ssw0rd
keep_day=14
tanggal=$(date +%Y-%m-%d_%H-%M-%S)
hari=$(date +%Y-%m-%d)
sqlfile=all-database-$tanggal.sql
zipfile=all-database-$tanggal.zip
cd $backupfolder
sudo mysqldump -u $user -p$password --all-databases > $sqlfile
if [ $? == 0 ]; then
echo 'Backup SQL berhasil pada '$hari >> log-db.txt
else
echo 'Backup SQL gagal pada '$hari >> log-db.txt
exit
fi
zip $zipfile $sqlfile
if [ $? == 0 ]; then
echo 'File backup terkompres pada '$hari >> log-db.txt
else
echo 'File gagal kompres pada '$hari >> log-db.txt
exit
fi
rm $sqlfile
echo $zipfile ' berhasil backup' >> log-db.txt
find $backupfolder -mtime +$keep_day -delete
scp log-db.txt root@192.168.1.111:/backup-db1
scp $zipfile root@192.168.1.111:/backup-db1
3 2 * * * /root/backup_db.sh
find /backup-db1 -mtime +31 -delete
3 3 * * * /root/autodelete-backup-db1.sh
Sumber :