crontab部署定时任务
1、安装cron工具:apt-getinstall cron
2、开启定时任务:crontab –e
定时任务语句格式为:执行周期+命令。
周期有5个域,分别是分,时,日(day of month),月(month of year),周(day of week)
每个域不加限制任意的话用*,整体格式为:* * * * * user command
分 时 日 月 周 用户 命令
我的脚本是 /root/1.py
执行环境为 /usr/bin/python3.5
每两分钟运行一次,则语句为:
*/2 * * * * /usr/bin/python3.5/root/1.py &>> /root/auto.log
3、写完后重启cron服务:service cron start
4、其他命令:
重启cron 服务:service cron restart
检查cron服务的状态:service cron status
service cron start //启动服务
service cron stop //关闭服务
service cron restart //重启服务
service cron reload //重新载入配置
service cron status //查看crontab服务状态
5. 定时任务示例:
crontab -e #每天上午6:30加载数据特征 30 6 * * * cd /huzixia/script/ && nohup sh data_day.sh &> /huzixia/log/data_day.log
表明:每天上午6:30执行目录 /huzixia/script/ 下的脚本 data_day.sh,并将执行日志覆盖到 /huzixia/log/data_day.log 中。
> 表示覆盖原来的文件,>>表示追加到原来的文件中。
6、常用周期格式:
常用周期格式,可以查询crontab执行的在线工具:https://tool.lu/crontab/
每五分钟执行 */5 * * * *
每小时执行 0 * * * *
每天执行 0 0 * * *
每周执行 0 0 * * 0
每月执行 0 0 1 * *
每年执行 0 0 1 1 *
每分钟执行一次 * * * * * user command
每隔2小时执行一次 **/2 ** * user command (/表示频率)
每天8:30分执行一次 30 8 * * * user command
每小时的30和50分各执行一次 30,50 * * * * user command(,表示并列)
每个月的3号到6号的8:30执行一次 30 8 3-6 * * user command (-表示范围)
每个星期一的8:30执行一次 30 8 * * 1 user command(周的范围为0-7,0和7代表周日)