如何安排命令每 2 小时执行一次?

如何安排命令每 2 小时执行一次?

我想在我的 ubuntu 机器上每 2 小时运行一个小的监控 jar 文件。

java -jar mymonitoringtool.jar

我不知道如何设置它。

答案1

您可以根据您的要求使用以下表达式设置 crontab。

0 */2 * * * path/to/java -jar path/to/mymonitoringtool.jar &> path/to/monitor-$(date "+%Y%b%d-%H%M%S").log

您应该首先通过运行来检查是否有任何现有的 cron 作业crontab -l

如果您还没有任何 cron 作业,您可以将以上行放入文本文件(例如 my-cron-job.txt)中并运行crontab my-cron-job.txt以激活它。然后,您可以通过crontab -l再次运行来验证作业是否已添加。

如果您确实有现有的 cron 作业,则需要运行crontab -e并编辑 crontab 文件。这将需要您使用命令行编辑器(默认情况下为 vi)。

cron 守护进程仅设置有限数量的环境变量,因此最好指定 java 可执行文件的完整路径。您还需要指定可执行 JAR 文件的完整路径。

我假设您想要收集java -jar命令的输出,因此我在命令中添加了一个日志文件。命令的输出和错误流将被重定向到此日志文件,该文件将使用时间戳命名(例如,monitor-2018Nov03-200000.log)。

一旦一切设置完毕,您应该监视 cron 作业的前一两次执行。如果一切正常,您就可以让它继续运行。


作为外部参考,这里有关于 cron 作业的介绍。这应该可以帮助您了解调度的实际工作原理。

https://www.howtoforge.com/a-short-introduction-to-cron-jobs

答案2

cron 是 Linux 的内部作业调度程序。它有助于安排命令在特定的时间间隔或日期时间运行。

crontab -e在终端上输入

添加这一行 0 */2 * * * path/to/java -jar path/to/mymonitoringtool.jar

保存并退出

crontab语法如下

00 */2 * * * path/to/java -jar path/to/mymonitoringtool.jar

第 0 分钟 每个第 2 小时 每天 每个月 每个工作日 run-this-command

如需更多选项和信息:https://help.ubuntu.com/community/CronHowto

相关内容