Linux实现MySQL数据库凌晨主动备份。

备份多数据库,每天凌晨两点执行,应用以后年月日作为文件夹,不存在该文件夹就创立,删除七天前备份过的文件。

定时调度应用crontab

       1 login_user="root"      2       3 login_passwd=""      4       5 vDate=`date +%Y%m%d`      6       7 backup_dir="/home/data/backups/"$vDate"/"      8       9 echo $backup_dir     10      11 if [ ! -d $backup_dir ];then     12         mkdir -p $backup_dir     13 fi     14      15 # 将须要备份的数据放入     16 db_array=("dbName1" "dbName1" "dbName1") #配置要备份的数据库     17      18      19 for db_name in ${db_array[*]}     20 do     21              22         mysqldump -u root -p$login_passwd $db_name > $backup_dir$db_name.sql     23      24 done     25      26 # 删除7天前备份的文件     27 find backup_dir -atime +7 -name "*.sql" -exec rm -rf {} \     28      29 echo "备份完结"

没有装置crontab的小伙伴须要装置crontab,装置过程网上很多在此就不做赘述了。

查看crontab的定时工作

[root@localhost data]# crontab -l00 02 * * * /home/data/backup.sh

编辑crontab定时工作

[root@localhost data]# crontab -e

我的脚本文件在 /home/data/backup.sh中。

后面三个数字别离代表,见下图。我的是凌晨二点,小伙伴能够依据须要更改。