1、创建定时任务
编辑定时任务
crontab -e // 打开crontab任务编辑
*/30 * * * * /root/backup_mysql.sh>>/opt/back_log.log //填写定时任务
解释
*/30 * * * * 为cron表达式
/root/backup_mysql.sh 需要执行的脚本
/opt/back_log.log 输出的日志位置
保存
与vim编辑器保存一致,先按Esc,然后"shift+;",然后"wq"回车进行保存。
查看
crontab -l
编写备份脚本
/root/backup_mysql.sh
#备份目录
backup_dir='/data/backup/'
#要备份的数据库名称
db_name="test"
#备份时间
current_time=$(date +%Y%m%d_%H%M%S)
echo "time:${current_time}"
#备份文件名
gzipfile=$backup_dir$db_name'_'$current_time'.sql.gz'
#备份核心语句(单个数据库备份,可以直接这一个语句)
mysqldump -u root -p12345678 --single-transaction $db_name | gzip > $gzipfile
echo "backup:$gzipfile"
#如果需要传到其他的服务则使用下面语句,就在本机部署注释掉scp这句就行
scp $gzipfile root@10.155.42.11:/data/backup/"${current_time}_${db_name}.sql.gz"
#保留三天
find $backup_dir -name "*.sql.gz" -mmin +4320 -exec rm -rf {} \;
编写完备份脚本可以手动执行一次/root/backup_mysql.sh看是否能正确备份。