linux 使用crontab 定时备份mysql

1 新建vim auto_backup_mysql.sh 并编辑脚本

备份为备份数据库表结构和数据 备份可以加参数进行配置

#auto backup mysql db
#by authors sdyz 2022
#dufine backup path
BAK_DIR=/home/mysqlbackup/`date +%Y%m%d/%H:%M:%S`
MYSQLDB=yourdatabase
MYSQLUSR=username
MYSQLPW=password
MYSQLCMD=/usr/bin/mysqldump
#判断是否为root用户
if [ $UID -ne 0 ]; then
        echo "必须使用root用户执行。 "
        exit
fi
#如果BAK_DIR这个目录不存在则创建,否则打印存在
if [ ! -d $BAK_DIR  ];then
        mkdir -p $BAK_DIR
        echo -e "\033[32mThe $BAK_DIR Create Succsessfully!\033[0m"
else
        echo -e "\033[32m This $BAK_DIR is exists...\033[0m"
fi
$MYSQLCMD -u$MYSQLUSR -p$MYSQLPW  $MYSQLDB > $BAK_DIR/$MYSQLDB.sql
if [ $? -eq 0 ];then
        echo -e "\033[32m The mysql backup $musqldb successfully !\033[0m"
else
        echo -e "\033[32m the mysql backup $mysql_db Failedm please check.\033[0m"
fi

排除某个表 执行时不锁表

$MYSQLCMD -u$MYSQLUSR -p$MYSQLPW --ignore-table=$MYSQLDB.sys_logininfor --ignore-table=$MYSQLDB.sys_oper_log --ignore-table=$MYSQLDB.sys_job_log --databases $MYSQLDB --single-transaction> $BAK_DIR/$MYSQLDB.sql

2 脚本执行过程可能报错 syntax error near unexpected token `fi’,解决参照下面链接

syntax error near unexpected token `fi’

3 输入crontab -e 将执行脚本加入自动执行任务

示例为每个五分钟执行 备份

*/5  * * * * /bin/bash /home/auto_backup_mysql.sh >>/tmp/mysql_bak.log 2>&1

4 crontab 的使用方式(安装步骤略)

查看任务: crontab -l

编辑任务: crontab -e

键入 a 进入编辑模式

进行编辑后

Ctrl+c 退出编辑模式

Shift + w + q 退出编辑

wq 保存并退出

5 常用的cron

43 21 * * *   #21:43 执行
15 05 * * *   #05:15 执行
0 17 * * *    #17:00 执行
0 17 * * 1    #每周一的17:00 执行
0,10 17 * * 0,2,3    #每周日,周二,周三的17:00和17:10 执行
0-10 17 1 * *    #毎月1日从17:00到7:10毎隔1分钟 执行
0 0 1,15 * 1    #毎月1日和15日和一日的0:00 执行
42 4 1 * *   #毎月1日的4:42分 执行
0 21 * * 1-6   #周一到周六21:00 执行
0,10,20,30,40,50 * * * *   #每隔10分 执行
*/10 * * * *   #每隔10分 执行
* 1 * * *   #从1:0到1:59每隔1分钟 执行
0 1 * * *   #1:00 执行
0 */1 * * *   #毎时0分每隔1小时 执行
0 * * * *   #毎时0分 执行
2 8-20/3 * * *   #8:02,11:02,14:02,17:02,20:02 执行
30 5 1,15 * *   #1日和15日的5:30 执行
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值