工具使用篇——crontab实现linux服务器上mysql数据库的备份工作

备份原理

通过mysqldump命令保留数据库的结构和数据sql语句。
通过crontab的创建定时任务,定期的循环备份。

操作过程

1、创建A.sh文件文件的内容如下:

#将数据库备份并压缩的命令
mysqldump -u你的数据库用户名 -p数据库密码 数据库名称 | gzip > 备份保存的路径/文件名字_$(date +%Y%m%d_%H%M%S).sql.gz
#循环删除离现在比较远的文件(这里表示7天前的删除)
find 备份保存的路径 -name "*.sql.gz" -type f -mtime +7 -exec rm {} \; > /dev/null 2>&1

2、用crontab将上面的A.sh文件进行定时的执行,比如每天凌晨1点进行备份。
2.1安装crontab

yum -y install vixie-cron

2.2添加定时任务

1)输入crontab-e回车,情形如图:
在这里插入图片描述
2)按键盘上的a进入编辑模式(这时候最下面显示-- INSERT –
不然你是写不进去的)。

0 1 * * * /root/con_waste_backup/backup.sh

3)按esc,此时-- INSERT --消失。然后在屏幕上敲出来:wq并回车,此时你的crontab任务就创建了。
你可以用命令crontab-l查看。
4)启动crontab服务
在这里插入图片描述
大功告成了,你可以将上面的0 1 * * * 改为/ 1 * * *即1分中执行一次先试试。

crontab语法使用

{minute} {hour} {day-of-month} {month} {day-of-week} {full-path-to-shell-script} 
o minute: 区间为 0 – 59 
o hour: 区间为0 – 23 
o day-of-month: 区间为0 – 31 
o month: 区间为1 – 12. 1 是1月. 12是12月. 
o Day-of-week: 区间为0 – 7. 周日可以是0或7

eg:

0 1 * * *#每天的凌晨一点
1 1 * * *#每天的凌晨一点过一分钟
1 1 1 * *#每月1号的凌晨一点过一分钟
1 1 * * 1#每个周末的凌晨一点过一分钟

其他语法:

crontab-e#添加任务
crontab-l#列出所有任务
crontab-r#清除任务
service crond start #启动crontab服务
service crond stop#关闭crontab服务

注意

如果你发现crontab服务服务已经启动了,但是并没有发现自己的sql语句被写在了相应的文件夹,此时你可以修改下crontab的权限,可能你对目标文件夹没有写入权限。

chmod -R 777 sh文件所在路径。

linux权限讲解

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值