Linux中的定时任务crontab
一、crontab 功能
通过 crontab
命令,我们可以在固定的间隔时间执行指定的系统指令或 shell
脚本。时间间隔的单位可以是分钟、小时、日、月、周及以上的任意组合。这个命令非常适合周期性的日志分析或数据备份等工作。
二、crontab 安装
1 |
|
三、crontab 命令
命令格式:
1 |
|
参数说明:
-u user
:用来设定某个用户的crontab服务,例如,“-u ixdba”表示设定ixdba用户的crontab服务,此参数默认由root用户来运行;file
:file是命令文件的名字,表示将文件file
做为crontab的任务列表文件并载入crontab;-e
:编辑某个用户的crontab文件内容。如果不指定用户,则表示编辑当前用户的crontab文件;-l
:显示某个用户的crontab文件内容,如果不指定用户,则表示显示当前用户的crontab文件内容;-r
:删除定时任务配置,从/var/spool/cron目录中删除某个用户的crontab文件,如果不指定用户,则默认删除当前用户的crontab文件;-i
:在删除用户的crontab文件时给确认提示。
高频常用:
1 |
|
四、调度配置
1. 基本格式
1 |
|
即从左至右依次为 分 时 日 月 周 [用户] 命令
:
第1列表示分钟1~59 每分钟用*或者 */1表示
第2列表示小时0~23(0表示0点) 7-9表示:8点到10点之间
第3列表示日期1~31
第4列表示月份1~12
第5列标识号星期0~6(0表示星期天)
第6列标识执行用户(非必需)
第7列要运行的命令或
shell
脚本
【扩展】相信你也发现了,
crontab
最小只支持到分钟级别的任务执行,如果想实现秒级任务执行,我们需要借助cron表达式
,该表达式使用非常广泛,在spring框架中也常用来设置定时任务的执行频率,典型应用就是@Schedule(cron)
注解
2. 一些配置示例
1 |
|
五、crontab 日志查看
linux
中默认情况下,crontab
中执行的日志写在 /var/log
下 ;
1 |
|
crontab
的日志比较简单,当然也可以将每条 crontab
中的任务增加自己的日志,有利于查找执行失败原因;
1 |
|
因此查看 crontab
日志可以直接查看 log
文件信息
1 |
|
参考文章: Linux crontab配置
Linux中的定时任务crontab
http://dunkingcurry30.github.io/2022/07/28/Linux中的定时任务crontab/