Center OS数据库定时备份
1.创建一个可执行文件
2.写入执行代码
databaseName=CRM0001B;
file=/software/mysql/backup/$databaseName;
if [ ! -d $file ];then
mkdir $file;
fi
echo "===$databaseName备份开始==="
mysqldump -uroot -p1a2b3c4d!@# $databaseName > $file/"$databaseName"_$(date +%Y%m%d_%H%M%S).sql
echo "===$databaseName备份结束==="
echo "===$databaseName删除七天前备份开始==="
find $file/ -mtime +7 -name "*.sql" -exec rm -rf {} \;
echo "===$databaseName删除七天前备份结束==="
- databaseName:数据库名称
- file:文件夹地址 + 数据库名称
- if:判断文件夹是否存在(不存在则创建)
- mtime:天(mmin:分钟)
3.上传服务器
4.给予可执行权限
chmod u+x CRM0001B.sh
5.运行
./CRM0001B.sh
然后去你设置的文件夹下查看生成备份
6.设置定时任务
crontab -e
?进入定时任务设置
*/1 * * * * /software/mysql/backup/CRM0001B.sh
?每分钟执行一次(测试)
0 3 * * * /software/mysql/backup/CRM0001B.sh
?每天凌晨3点执行一次
表达式代表☞分 时 日 月 周
!wq保存
7.查看日志
tail -f -n1000 /var/log/cron
问题
遇到 $’\r’: 未找到命令解决
windows下创建的文件格式是Windows(CR LF)
linux运行需要Unix(LF)
解决方案
1.安装
yum -y install dos2unix
再转换文件
dos2unix *.sh
2.用notepad++打开文件右下角右击转换**Unix(LF)**格式