仅当服务器处于唤醒状态时运行 cron

仅当服务器处于唤醒状态时运行 cron

解释一下这个问题:我的服务器(NAS)不使用时会休眠,我想保持这种状态。但是,当有人上传照片文件夹时,它会被唤醒并处理上传。

我想在有人上传新文件夹时通知一组人,我希望有一个“cron”,它会在特殊事件“有人​​上传新文件夹”时触发,或者只有一个在 NAS 唤醒时运行的“cron”,因为通常当我安排每 4 小时启动一次 cron 时,服务器会休眠然后唤醒(每 4 小时一次) - 这是我所不想要的。

“上传过程”(生成缩略图)是第三方应用程序,我无法修改它。我需要的是在正确的时间触发通知脚本(而不是唤醒休眠的 NAS)。

答案1

Cron 是基于时间的作业调度程序,而不是基于事件的。我不知道如何让 Cron 响应事件来执行某些操作。

在我看来,你可能需要 bash 脚本。根据你 NAS 的操作系统,你应该能够在恢复(从睡眠状态唤醒)时自动运行 bash 脚本。例如,在 Ubuntu 中,你可以使用 pm-utils 来执行此操作:https://askubuntu.com/questions/226278/run-script-on-wakeup你的操作系统可能会有所不同。

您在唤醒时运行的脚本可以使用 bash 的如果测试语句检查文件或文件夹是否存在,如果找到则发送电子邮件。有关使用如果以这种方式声明请检查此处:https://www.cyberciti.biz/tips/find-out-if-file-exists-with-conditional-expressions.html

相关内容