我想在日出前 30 分钟开始录制,并在日出后 1 小时终止。
我编写了一个 shell 脚本,用于从 weather.com 获取日出和日落时间,并使用它设置 crontab 中的时间来触发应用程序,然后在适当的时间将其终止。我想自动执行此操作。我想可以使用 at、atrun、atd,但这些工具似乎不合适。
理想情况下,cron 会获取时间,我可以在 crontab 中直接使用这些时间,比如说 Sunrise-0.5 和 Sunrise+1。
我怎样才能达到我的目标?
谢谢 FedonKadifeli 是的,可以这样做,并且可以重新安排脚本以仅提供今天日出的时间,然后使用 at 来运行录制。我正在寻找一种更简单的方法。但是嘿,时间紧迫。我会试试看。不,这不起作用,它需要手动输入,而且我夏天不会在 4:30 醒来,这只会将黎明开始录制切换为黎明开始。
我需要这个功能全年全自动更新日出时间,例如每周更新一次。我住在英国,这里的日出时间随时间变化,大约从凌晨 4:30 到上午 9:30。目前,我通过修改 crontab 条目来实现这一点。时间每天都不会有太大变化,但我想从这个过程中删除我的记忆。
答案1
机器不是 24/7 全天候运行,所以 cron 没什么用。我使用过 Anacron,周期为 1,延迟为 7。这个方法可以完成工作,但黎明晚了一天。在英国,北纬约 52 度,黎明变化不会那么快,所以早一分钟左右开始并不重要。十二月和六月之间变化很重要!
解决了
答案2
当你在寻找 bash 脚本和 crontab 的指南时,令人赏心悦目是一项很好的研究:
- 它每天从 dateandtime.com 获取日出和日落时间。这些时间存储在文件中,您可以
conky
根据需要显示这些文件。 anacron
它就像您现在使用的一样被调用。- 它在启动时运行,在日出和日落之间休眠。
- 它在日出和日落时开始处理,并在用户定义的时间段内继续处理,中间休眠 1 分钟。
- 它可使多个显示器变暗/变亮并设置其色温。您不需要此功能,但可以更改它以进行录制。