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
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 执行
|