需要每天早上 9 点跑步,并且每 10 秒保持一次跑步
Posted
技术标签:
【中文标题】需要每天早上 9 点跑步,并且每 10 秒保持一次跑步【英文标题】:Need to run a sh everyday at 9 am and keep running every 10 secs 【发布时间】:2020-06-21 03:54:23 【问题描述】:我正在编写一个覆盆子相机
所以,我需要每天早上 9 点执行一个 sh 脚本,但之后,该脚本必须每 10 秒运行一次。
就像它在早上 6 点开始拍照并每 10 秒拍照一次,直到我自动重新启动系统以停止命令。
00 09 * * 1 watch -n 10 sh /home/pi/timelapse/process1.sh
00 09 * * 2 watch -n 10 sh /home/pi/timelapse/process1.sh
00 09 * * 3 watch -n 10 sh /home/pi/timelapse/process1.sh
00 09 * * 4 watch -n 10 sh /home/pi/timelapse/process1.sh
00 09 * * 5 watch -n 10 sh /home/pi/timelapse/process1.sh
00 17 * * 1 sudo reboot
00 17 * * 2 sudo reboot
00 17 * * 3 sudo reboot
00 17 * * 4 sudo reboot
00 17 * * 5 sudo reboot
30 17 * * 1 sh /home/pi/timelapse/newimage/video.sh
30 17 * * 2 sh /home/pi/timelapse/newimage/video.sh
30 17 * * 3 sh /home/pi/timelapse/newimage/video.sh
30 17 * * 4 sh /home/pi/timelapse/newimage/video.sh
30 17 * * 5 sh /home/pi/timelapse/newimage/video.sh
重启 crontab 必须在下午 5 点停止第一个命令,所以我不需要对其进行编程来停止。然后它用命令中的所有照片制作一个视频。
我尝试使用 crontab、watch 和 sleep,但 crontab 甚至在 sh 脚本中也不运行它们。
假设在文件夹中创建图像,但它没有。我把代码放在这里。当我手动执行它时,它可以工作。
raspistill -w 1920 -h 1080 -o /home/pi/timelapse/images/imageBTW.jpg DATE=$(date +"%Y-%m-%d_%H%M%S") for file in "/home/pi/timelapse/images/imageBTW.jpg" ; do convert "$file" \ -pointsize 72 -fill white -annotate +100+100 \ %[exif:DateTimeOriginal] /home/pi/timelapse/newimage/$DATE.jpg done rm /home/pi/timelapse/images/imageBTW.jpg
【问题讨论】:
如果我这样做,我会编写一个 shell 脚本,其中包含一个延迟 10 秒运行的循环。然后在上午 9:00 启动它。我会使用 cron 在正确的时间启动它。之后,重复调用将发生在脚本本身内部。 脚本可以运行10秒以上吗?如果是的话应该怎么做? 它必须创建一个名为 ImageBTW 的图像,为其添加时间戳并用日期重命名,然后将其发送到 newimage 文件夹。 【参考方案1】:尝试阅读:man 5 crontab
在那里您会发现cron
的工作精度非常低的信息。
但您可以将以下内容写入您的crontab
:
0 9 * * 1-5 watch -n 10 sh -c 'while /home/pi/timelapse/process1.sh; do sleep 10; done'
顺便说一句,你想监视谁?
【讨论】:
哈哈哈,非常感谢,不监视任何人只是时间流逝的项目。 它仍然不起作用,它应该在文件夹中创建图像并且它没有。我把代码放在这里。当我手动执行它时,它可以工作。我编辑了问题。以上是关于需要每天早上 9 点跑步,并且每 10 秒保持一次跑步的主要内容,如果未能解决你的问题,请参考以下文章
我要在oracle 10g创建一个job,每天凌晨9点执行一个过程,过程名假定为 pro_1001 谢谢指点
spring 任务调度 9:25 到16点 每10秒执行一次
如何在 Azure Logic 应用程序中为每两分钟触发器安排天数和小时数?