文章目录
- linux
- crontab参数列表
- crontab -e 和 vim /etc/crontab的区别
- 编辑完定时任务重启什么吗
- 定时任务是否生效,查看日志
- 定时任务表达是常用例子
- mv命令失败了也会删掉原文件吗
- bash脚本中两条命令会影响吗
- 一个定时任务错误,会影响其他吗
- mv -f的作用
- cron为什么不显示日志
- 用日志跟踪定时任务的执行情况
- 其他几个默认的文件
- 0/1 和 */1 的区别
- 0 0/1 * * *
- 0 */1 * * *
首先这里区分下,linux中cron和spring的cron是不一样的。
linux
linux cron是不到秒的。
crontab参数列表
-e #编辑定时任务
-l #查看定时任务(其实没用,相当于cat)
-r #删除定时任务
-u #指定其他用户
常用的是crontab -e;
表示编辑定时任务。
crontab -e 和 vim /etc/crontab的区别
这两种都是编辑定时任务文件。
crontab -e 相当于 cd /var/spool/cron/; vim root;
编辑的是当前用户的定时任务,一般用这种即可
vim /etc/crontab; 编辑的是系统的定时任务,一般用不到。
编辑完定时任务重启什么吗
不需要,因为保存就会自动刷新定时任务。
定时任务是否生效,查看日志
/var/log/cron 这个是定时任务的日志文件,可以查看
tail -100f /var/log/cron
定时任务表达是常用例子
mv命令失败了也会删掉原文件吗
实测如果mv到的文件不存在,原文件也会删除掉
bash脚本中两条命令会影响吗
要看什么命令,一般情况下不会。
例如mv命令就不会。
find 命令会影响吗,实测也不会。
一个定时任务错误,会影响其他吗
实测如果2条命令之间没有相互依赖,不会影响的。
mv -f的作用
文件如果重复,默认会询问是否覆盖
-f force 表示不询问,直接覆盖。
cron为什么不显示日志
日志的默认文件是/var/log/cron,
用日志跟踪定时任务的执行情况
例如: 在定时任务执行时,添加date和文件名,并输出到日志。
test.sh内容:
crontab 中添加:
其他几个默认的文件
/var/spool/cron/tmp cron的临时文件(不过为什么看不到呢)
/var/spool/mail/root 每个用户都在/var/spool/mail目录下生成用户名的文件夹(不过为什么看不到呢)
0/1 和 */1 的区别
当然是有区别的,例如想要每小时执行一次。
0 0/1 * * *
输出为:
第 1次执行 2022-09-11 00:00:00
第 2次执行 2022-09-12 00:00:00
第 3次执行 2022-09-13 00:00:00
第 4次执行 2022-09-14 00:00:00
效果为每天的0点执行一次。
0 */1 * * *
输出为:
执行序号 执行时间
第 1次执行 2022-09-10 18:00:00
第 2次执行 2022-09-10 19:00:00
第 3次执行 2022-09-10 20:00:00
第 4次执行 2022-09-10 21:00:00
很明显,这是想要的结果。