1.备份文件 mysql_backup.sh
#备份文件夹地址
backup_dir='/data/clearWater/mysql_backup/'
#备份时间获取
current_time=$(date +'%Y-%m-%d_%H%M%S')
#路径文件名拼接
filepath=$backup_dir$current_time'.sql.gz'
echo '开始导出数据库...'
mysqldump -uroot -p密码 --default-character-set=utf8 库名 | gzip > $filepath
echo '导出成功,文件名为: '$filepath
2.清理文件back_clean.sh
-mtime +3
表示仅保留最近三天,3天外的一律删除,依据文件创建时间决定
#!/bin/bash
echo ----------CLEAN BEGIN----------
find /data/clearWater/mysql_backup -mtime +3 -name "*.gz" -exec rm -rf {} \;
echo ----------CLEAN COMPLETE----------
2.1新版mysql不支持明文密码时
先去除sh脚本中的-p密码,然后在root目录下创建 配置文件名称 .my.cnf
内容输入:
[mysqldump]
user="账户"
password ="密码"
3.定时任务添加
输入以下命令进行
crontab -e
如果遇到权限不足只能使用sudo 执行的情况下,使用
sudo crontab -e
为root用户创建定时任务即可
4.添加执行语句
00 2 * * * /data/clearWater/mysql_backup/mysql_backup.sh > /data/clearWater/mysql_backup/logs/backup.log 2>&1
00 1 * * * /data/clearWater/mysql_backup/backup_clean.sh > /data/clearWater/mysql_backup/logs/backup_full_clean.log 2>&1
每天凌晨1点清空3天外备份,2点加新备份