Linux开启定时任务,定时备份MySql数据

13 篇文章 0 订阅

一、编辑定时任务

为了直观的体现定时任务,这里模拟一个简单的场景,就是每次往一个txt文件里面添加数据

1-1、准备一个txt文件
touch /xdx/xdx.txt
1-2、准备一个追加信息的命令
echo "hello word" >> /xdx/xdx.txt
1-3、写到定时任务里面去
vim /var/spool/cron/root 

把下面的这个命令写进去,前面是定时任务执行的频率,现在配置的是每分钟执行一次。

*/1 * * * * echo "hello word" >> /xdx/xdx.txt

过几分钟后,我们就可以发现xdx.txt里面有不少数据了

1-4、相关常用命令
# 查看当前的定时任务
crontab -l

# 编辑定时任务
crontab -e
1-5、定时规则

5个*的具体意义如下:

含义范围
第一个 *一个小时的第几分钟0 - 59
第二个 *一天中的第几个小时0 - 23
第三个 *一个月中的第几天1 - 31
第四个 *一年中的第几个月1 - 12
第五个 *一个星期中的星期几0 - 7 (0和7都表示星期天)

特殊符号的含义

符号含义
*表示任何时间
,表示不连续的时间,比如 0 8,10 * * * 表示每天8点0分,10点0分都执行一次
-代表连续的时间范围,比如 0 5 * * 1-6 表示周一到周六每天5点分执行一次
*/n代表隔多久执行一次,比如 */1 * * * * 表示每分钟执行一次

实例:

# 每分钟执行一次
*/1 * * * * command
# 每第三分钟和第十五分钟执行一次
3,15 * * * * command
# 每隔两天的上午8点到11点的第3和第15分钟执行
3,15 8-11 */2  *  * command
# 每月1、10、22日的4 : 45 执行
45 4 1,10,22 * * command
# 晚上11点到早上7点之间 执行
23-7/1 * * * command

二、备份MySql数据

前天被安排备份数据这个任务,我自己之前都是直接navicat右键导出备份数据。但是现在要备份公司的数据,那肯定不能这么的草率。经给朋友的指点,找到了MySql的一个命令。 mysqldump

2-1、数据库备份命令

执行下面的命令前提是,你安装了MySql,但是不需要进入MySql里面去运行。

mysqldump -h127.0.0.1 -P3306 -uroot -pxdx --databases blog > /xdx/backup/b2.sql

上面的命令意思 把127.0.0.1服务器上面端口号为3306,用户名为root,密码为xdx,数据库名称为blog的数据库,备份到当前服务器上面的/xdx/backup路径下,命名为b2.sql。

ps:上面的命令可以异步备份,也就是你把ip换成线上的就好了,这样就可以在A服务器上去备份B服务器上面的MySql数据了。


2-2、mysqldump 命令的参数
命令缩写解释
–host-h服务器IP地址
–port-PMySql端口号
–user-uMySql用户名
–pasword-pMySql密码
–databases指定要备份的数据库
–all-databases备份MySql所有的数据库
–compact压缩模式,产生更少的输出
–comments添加注释信息
–complete-insert输出完成的插入语句
–lock-tables备份前,锁定所有数据库表
–no-create-db/–no-create-info禁止生成创建数据库语句
–force当出现错误时仍然继续备份操作
–default-character-set指定默认字符集
–add-locks备份数据库表时锁定数据库表
2-3、数据库还原

如果你可以使用navicat等类似的工具,那我们只需要右键执行sql文件即可了,下面教一种只能用命令操作的情况。

1、我们先要创建一个名字一模一样的数据库

2、登录MySql执行下面的命令

source /xdx/backup/b2.sql

三、定时备份数据库

我们只需要把下面的命名,插入到定时任务里面去就好了

3-1、打开定时任务
crontab -e
3-2、插入定时任务

这里每分钟执行一次,你可以修改自己的频率

*/1 * * * * mysqldump -h127.0.0.1 -P3306 -uroot -pxdx --databases blog > /xdx/backup/b2.sql
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值