举个例子,数据库的备份,首先需要创建数据库备份的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