我养成了.
从一些博客文章中包含以下内容的习惯:
0 0 * * * . /usr/local/bin/somescript.sh
...代替:
0 0 * * * /usr/local/bin/somescript.sh
例如可视化 cron 计划表达式编辑器cron.guru考虑使用该字符作为错误,但我的脚本似乎至少到目前为止已按指定运行。
答案1
cron
将整个命令(包括点(如果存在))传递给 shell 执行;相应的 shell 命令也是如此.
,它在当前 shell 中“获取”脚本,而不是启动一个新进程来运行它。对于一个.sh
文件来说,这可能是一个新的 shell。
看采购(“.”或“源”)和在 bash 中执行文件有什么区别?了解详情。
cron.guru仅验证计划表达式,IEcrontab
条目中定义何时运行的部分;这就是为什么“0 8 ** Mon ”。被标记为无效 — 这不是有效的计划表达式。