关于 Cron 每分钟交替执行命令的问题

关于 Cron 每分钟交替执行命令的问题

我一直在用 编辑我的 crontab crontab -e -u,这是内容:

*/1 * * * * export DISPLAY=:0 && xset dpms force off 

*/1 * * * * export DISPLAY=:0 && xset dpms force on

我怎样才能使开启时间保持 1 分钟,这样显示屏关闭 1 分钟,然后开启 1 分钟?

答案1

听起来您想要在交替的分钟内执行命令的 crontab 行,例如第一个命令在偶数分钟(0,2,4 等)执行,第二个命令在奇数分钟(1,3,5 等)执行。

可以通过以下方式完成:

0-59/2 * * * * export DISPLAY=:0 && xset dpms force off 

1-59/2 * * * * export DISPLAY=:0 && xset dpms force on

解释

此处的分钟条目使用了两个不同的元素 -范围步进值

范围格式为?-?,因此我们定义两个不同的范围,以 1 分钟为间隔开始(0-591-59)。

/2部分是步长值通过使用这个,我们告诉 cron 只在所有其他范围内的值。

通过使用全部可能的分钟范围(但不同的起始值),我们确保命令每隔一分钟运行一次,但间隔 1 分钟。

有趣的事实

第一个范围也可以输入为,0-58并且不会产生任何差异(因为在这个范围内跳过了奇数值)。

相关内容