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/