Ubuntu定时任务Crontab
说明:
cron是一个Linux定时执行工具,可以在无需人工干预的情况下运行作业
cron启动后,它会读取它的 所有配置文件
(全局性配置文件/etc/crontab,以及每个用户的计划任务配置文件)
crontab格式:
1 |
|
控制命令:
启动:service cron start
停止:service cron stop
状态:service cron status
重启:service cron restart
重新载入配置:service cron reload
crontab命令:
格式:
crontab [ -u user ] [ -i ] { -e | -l | -r }
crontab -u 设定某个用户的cron服务
crontab -l 列出某个用户的所有cron服务的详细内容
crontab -r 删除某个用户的所有cron服务
crontab -e 编辑某个用户的cron服务
新增/删除任务示例:
1.编辑任务
会在/var/spool/cron/crontabs/目录下编辑一个当前用户名的文件
(如:/var/spool/cron/crontabs/root)
crontab -e
2.添加命令/删除命令
每年每个月的3号到6号的8点每隔3分钟或5分钟
执行date命令并将结果保存至文件/tmp/testCron.txt中
(,表示并列 /表示频率 -表示范围)
*/3,*/5 8 3-6 * * date >> /tmp/testCron.txt
3.重新载入配置
service cron reload
批量处理:
cron启动后,读取/etc/crontab文件,会通过run-parts命令定时运行四个目录下的所有脚本
可根据需求更改/etc/crontab文件内的时间(默认时间查看/etc/crontab文件)
/etc/cron.hourly 目录下的脚本会每个小时执行一次
/etc/cron.daily 目录下的脚本会每天执行一次
/etc/cron.weekly 目录下的脚本会每周执行一次
/etc/cron.mouthly 目录下的脚本会每月执行一次
脚本示例:
1 |
|
打开crontab日志:
1.修改rsyslog
vim /etc/rsyslog.d/50-default.conf
#cron.* /var/log/cron.log #将cron前面的注释符去掉
2.重启rsyslog
service rsyslog restart
3.查看crontab日志
vim /var/log/cron.log
注意:
创建脚本(必要条件)
1) 可执行文件(#!/bin/sh或#!/bin/bash等)
2) 匹配Debian cron脚本名称空间(^[a-zA-Z0-9_-]+$)
3) 执行权限(如果没有它就不会运行sudo chmod +x /etc/cron.hourly/test)
ubuntu默认没打开crontab日志
Ubuntu定时任务Crontab
https://www.inktea.eu.org/2022/62682.html