【cron】crontab 定时任务

在一个目录下 /opt/temp/ 写一个脚本

比如一分钟打印一次时间

logdate.sh

# 打印当前时间到 date.log 文件上
echo "$(date '+%Y-%m-%d %H:%M:%S')" >> /opt/temp/date.log

然后添加 cron 定时任务

这个是编辑定时任务,默认用 vi 找开,:wq 保存后,会自动生效
crontab -e
这个是查看定时任务
crontab -l

CRON任务:

*/1 * * * * sh /opt/temp/logdate.sh >/dev/null 2>&1
要注意,这里脚本的路径,必须要用全路径

注意点2

1、cron表达式中的脚本要用全路径
2、date.sh 脚本中,输出的文件路径也要用全路径,不然会出现,手动执行可以输出到文档,cron 执行,虽然成功,但date.log 无反应!!!

一句话,都要用绝对路径。

Spirng 中的 cron 和 Linux 的cron 表达式是有区别的!

Spring Cron:支持 6 个字段(秒 分 时 日 月 星期),是 Quartz 的格式。

标准 Unix Cron:只有 5 个字段(分 时 日 月 星期),没有“秒”字段。如果要实现类似功能,会写成 1 * * * *(每小时的第1分钟执行)。

比如: 0 1 * * * ?, 这个在 spring 中表示 每个小时的第一分钟执行。
但在 unix cron 里面,这是非法的。

posted @ 2024-06-06 11:28  aaacarrot  阅读(32)  评论(0)    收藏  举报