1.创建mysql_backup.sh文件
# mysql定时备份脚本,切记等号左右不能留空格
db_user="root"
db_pwd="密码"
#前缀,用于批量删除标识
db_name_pre="xBak_"
db_x1="xxx数据库"
bak_dir="/bak/mysqldata"
time="$(date +"%Y%m%d_%H%M%S")"
# 备份命令,文件名格式[momo_prod_20200120_163059.sql.gz];命令mysqldump需要绝对路径,否则crontab定时任务无法识别
/usr/bin/mysqldump -u$db_user -p$db_pwd -h127.0.0.1 -P3306 $db_x1| gzip > $bak_dir/${db_name_pre}${db_x1}_$time.sql.gz
# 定期删除备份,-mtime +7 指删除7天之前的备份文件
ifind $bak_dir -name "$db_name_pre*.sql.gz" -type f -mtime +7 -exec rm -rf {} \; > /dev/null 2>&1
2.给mysql_backup.sh文件执行权限
chmod +x mysql_backup.sh
3.加入定时器
# 执行命令
crontab -e
# 按 insert 键进入编辑状态
0 4 * * * /home/momo/mysql/mysql_bak/mysql_backup.sh
# 保存并退出后显示 crontab: installing new crontab 时表示成功,文件自动保存在 /var/spool/cron/ 目录。
# 重启crondtab服务
service crond restart
# 查看定时任务
crontab -l
# 查看脚本执行日志
tail -f /var/log/cron