我想每 15 分钟运行一次命令。这是我要运行的命令:
sudo bash -c "sleep 1h; pm-suspend"
Run Code Online (Sandbox Code Playgroud)
由于声誉不足,我无法发表评论,但是 @Edwin Hernandez crontab 的示例*/15, *, *, *, * sudo bash -c "sleep 1h; pm-suspend"
不正确,因为字段之间不应有逗号(每个星星都是一个单独的字段)。@米奇?有正确的格式。
cron
的格式是:
m h dom mon dow command
Run Code Online (Sandbox Code Playgroud)
m 是分钟,h 是小时,dom 是月份中的第几天,mon 是月份,而 dow 是一周中的第几天。
在您的评论中,您提出了一个关于每天和每周跑步的补充问题。
14 04 * * * command
是每天凌晨 04:14
39 06 * * 3 command
是每周三早上 6 点 39 分(0 = 周日,1 = 周一,等等...)
39 06 * * wed command
作为上一行
警告 #1: 如果您使用* * * * wed command
它,它将在每周三每小时每分钟运行一次。如果您只希望它每天运行一次,那么您需要指定您希望它每天运行的分钟数和小时数。我不止一次被这件事咬过。这可能非常令人沮丧。
警告#2: 如果您要运行的pm-suspend
命令是命令,那么我建议您查看所有用户的所有 crontab 文件,以便在他们完成处理您认为重要的任何命令后找到合适的时间。例如,如果您从 05:44 开始运行备份,然后将您设置pm-suspend
为在 05:50 运行,则备份可能在挂起之前尚未完成,这可能不是一个有用的状态。
示例中使用“随机”时间的原因是 crontab 经常在这些“随机”时间启动它们的命令以分散负载,因此很多进程不会同时启动
应该注意的是,如果设置了电子邮件,cron 的任何输出都会通过电子邮件发送给用户。您不会在屏幕/终端上看到任何输出。
一边
如果您需要在更短的时间范围内(默认为 2 秒)观察某些变化,那么这watch
是一个有用的命令。找到这个命令真是天赐之物!
其他阅读
在 SO如何使 bash 命令定期运行?有很多链接可能有助于以其他方式解释事物。
或者,如果您可以应付有些冗长的man
页面:
man 8 cron
man 1 crontab
man 5 crontab