#1、创建备份存放的目录
mkdir DB
#2.编写要执行的.sh脚本文件
vi database_erp_bak.sh
填加下面的内容进上面的文件 ,为了不占内存 备份过程中压缩文件
#!/bin/bash
echo '##########################################'
echo '###### 每天凌晨02:00 自动备份数据库 ######'
echo '##########################################'
# 设置环境变量
DATE=$(date +%Y%m%d)
USERNAME=用户名
PASSWORD=密码
DB=数据库名
DIR=/datadrive/DB/bak
echo '获取系统日期:' $DATE
if [ ! -d "$DIR" ]; then
mkdir $DIR
fi
cd $DIR
echo '开始备份...' $(date "+%Y-%m-%d %H:%M:%S")
/usr/bin/mysqldump -u$USERNAME -p$PASSWORD $DB | gzip > 数据库名_$DATE.sql.gz
echo '备份完成' $(date "+%Y-%m-%d %H:%M:%S")
这样要注意 mysqldump命令是否是在该目录中/usr/bin/mysqldump;
同时要根据自己的服务器,把备份的数据存放到数据盘中DIR=/datadrive/DB/bak(/datadrive/DB/bak根据自己服务器自行进行调整);
#3.查看mysqldump命令在哪里
find / -name mysqldump -print
#4.然后再用ln命令链接到/usr/bin下面
ln -fs /datadrive/mysql/bin/mysqldump /usr/bin
#5.给脚本文件赋权
chmod +x database_erp_bak.sh
#6.测试脚本是否能执行
如果不报错说明可以正常执行,接下来就是将脚本添加到定时任务当中去
证明文件已经生成了
#7. 添加定时任务
crontab -e
扫描二维码关注公众号,回复:
11508532 查看本文章
退出保存后,显示如下:
这里要特别注意,修改了定时任务后,需要重启crond才能生效
重启命令:
service crond start
service crond stop
#8.确认服务器是否开启定时任务计划服务
service crond status
如果没有启动,则可以使用该命令进行启动
service crond start
#9. 查看crontab执行记录
如果出现了crontab定时任务不执行的情况,首先需要定位问题,那么就需要通过日志来确定问题所在。
crontab的日志位置一般位于/var/log/cron,利用下面的语句即可查看日志。
less /var/log/cron
#10.如何每天定时删除之前备份的文件,请看下一篇文章