linux结合crontab定时器备份Mysql

举个例子,数据库的备份,首先需要创建数据库备份的shell脚本,然后chmod加上权限

然后再通过crontab -e添加需要定时执行的脚本,记得开启crond服务

1.先执行crontab -e 命令添加脚本的路径 2.脚本修改后,需要重启一下crontab服务 systemctl restart crond

3.输入crontab -e 需要输入执行时间的规律 +路径 例如 * * * * * /home/local/test.sh,而每个*代表的是不同单位的时间,可参考上面的图片 4.例子:*/1 * * * * 代表每分钟执行一次 , 0 3 * * * 代表每天3点执行一次

 

脚本内容

#!/bin/bash
#! 声明环境变量
date=$(date +%Y-%m-%d)
datetime=$(date "+%Y%m%d-%H%M%S")

#! 创建文件夹
backup_folder=/opt/campus-micro/sql-backup/${date}
mkdir ${backup_folder} -p

mysql_host="localhost"
mysql_username="root"
mysql_pwd="123"
mysql_port="3306"
upyun_servername="testDB"
upyun_username="testDB"
upyun_pwd="123456"
#! 需要备份的数据库
dbs=("shopDB" "oaDB")


#! 执行备份全量备份命令

for db in ${dbs[@]}
do
mysqldump -h${mysql_host} -u${mysql_username} -p${mysql_pwd} --databases $db > ${backup_folder}/$db.sql
#sql语句
insert_sql="insert into ${db} values(?,?)"
#linux命令插入sql语句
mysql -h${mysql_host} -P${mysql_port} -u${mysql_username} -p${mysql_pwd} ${db} -e "${insert_sql}"
#! 上传
curl -T ${backup_folder}/$db.sql http://v0.api.upyun.com/${upyun_servername}/sqlbackup/${date}/$db-${datetime}.sql -u ${upyun_username}:${upyun_pwd} -v
done

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值