1.登录系统,创建文件 dump_mysql.sh
cd /data
touch dump_msyql.sh
vim dump_mysql.sh
#粘贴以下代码 (备份数据库脚本)
#!/bin/bash
mysqldump -uroot-proot -h127.0.0.1 -P3306 dataBaseName > /data/dump/dump_qtou_$(date +"%Y-%m-%d_%H-%M").sql
2.创建del_dump_30day.sh
vim del_dump_qtou_30day.sh
#粘贴一下代码(只保留最近的三十个文件脚本)
#!/bin/bash
# 指定要操作的文件夹路径
folder_path="/data/dump"
# 进入目标文件夹
cd $folder_path
# 获取该文件夹下所有文件,并按照创建时间排序
files=($(ls -t))
# 计算文件数量
file_count=${#files[@]}
# 需要保留的文件数量
keep_count=30
# 如果文件数量超过需要保留的数量,则删除多余的文件
if [ $file_count -gt $keep_count ]; then
# 循环遍历文件,保留最近的30个文件,其余文件删除
for ((i=$keep_count; i<$file_count; i++)); do
rm "${files[$i]}"
echo "已删除文件:${files[$i]}"
done
fi
3.赋权给文件
chmod 777 /data/del_dump_30day.sh
chmod 777 /data/dump_mysql.sh
4.设置定时任务
crontab -e
#此时会进入编辑定时任务界面输入cron格式的定时
#每天凌晨一点执行
0 1 * * * sh /data/dump_mysql.sh
#每分钟执行
* * * * * sh /data/del_dump_30day.sh