Answers:
您不能每10秒安排一次作业,但我想您可以将作业安排为每分钟运行一次,并以10s的间隔循环睡眠。这将以您的命令在十秒间隔到期之前完成为前提,否则下一条命令运行时您将重叠。这似乎是一个不稳定的解决方案,但是如果您可以保证脚本主命令的执行时间非常短,那么它将起作用。
#!/bin/bash
i=0
while [ $i -lt 6 ]; do
/run/your/command &
sleep 10
i=$(( i + 1 ))
done
上周我有类似的任务。我的解决方案是将标准cron条目乘以所需的频率。我的crontab看起来像:
* * * * * /usr/local/bin/php /var/www/myscript.php
* * * * * sleep 10; /usr/local/bin/php /var/www/myscript.php
* * * * * sleep 20; /usr/local/bin/php /var/www/myscript.php
* * * * * sleep 30; /usr/local/bin/php /var/www/myscript.php
* * * * * sleep 40; /usr/local/bin/php /var/www/myscript.php
* * * * * sleep 50; /usr/local/bin/php /var/www/myscript.php
如果要检查myscript.php的结果,例如用于调试,只需追加
&> /tmp/myscipt.log
到上方crontab中的每一行。然后将stderr和stdout重定向到日志文件。
* * * * * script to run
* * * * * sleep 10; script to run
* * * * * sleep 20; script to run
脚本可以在10秒的间隔内运行...