一、创建脚本文件
1、新建.sh、.sql脚本文件;sh用于定时任务执行sql文件,sql用于定时任务执行对数据库增删改查等操作的脚本
touch crontab.sh
toucn query.sql
2、添加新建文件的执行权限
chmod +x crontab.sh
chmod +x query.sql
二、编辑脚本文件
1、编辑sql脚本
vi query.sql
键入i,进行编辑
#sql语句
select * from 表名
键入ESC,退出编辑
键入:wq!,保存并退出文件
2、编辑sh脚本
vi crontab.sh
键入i进行编辑
#!/bin/bash
#备份地址(用于存放sql执行前对执行表的备份)
backupdir=/home/crontab/mysqldata
#备份文件后缀时间(文件名已时间命名便于追溯)
time=` date +%Y%m%d%H%M`
#mysqldump命令使用绝对路径(从数据库获取指定的表,存放在指定文件夹内)
mysqldump -h 数据库地址 -P数据库端口 -u数据库用户名 -p数据库密码 库名 表名 > $backupdir/$time.sql
#执行sql脚本
mysql -h 数据库地址-P数据库端口 -u数据库用户名 -p数据库密码 库名 < sql脚本绝对路径/query.sql
键入ESC,退出编辑
键入:wq!,保存并退出文件
三、创建crontab定时任务
1、进入定时任务器
crontab -e
2、编辑定时任务
键入i,进行编辑
01 14 * * * sh 定时任务执行脚本绝对路径/crontab.sh > 定时任务执行的日志需要存放在哪里的绝对路径/log.txt 2>&1
键入ESC,退出编辑
键入:wq!,保存并退出文件
00 14 * * *为定时任务的执行时间,每天14点进行一次脚本的执行,执行后可cd到定时任务执行的日志需要存放在哪里的绝对路径/log.txt,查看执行的日志
定时格式可查看crontab 在线工具:https://tool.lu/crontab/