我正在寻找一个每周运行一次命令的守护进程。但我并不是在寻找像 cron 这样可以在特定时间运行命令的东西。因为我的笔记本电脑经常关机,所以经常会发生该命令无法运行的情况,因为它只是错过了 cron 运行该命令的时刻。
因此,我正在寻找一个守护进程,我可以告诉它在运行该命令后一周(或任何其他时间)运行该命令。
我一直在寻找这样的实用程序,但一直没找到。那么,这里有人知道这样的实用程序吗?
答案1
好的,如果您为相关用户创建了这样的 cron 条目(您的问题对规范不是很具体):
0/5 * * * * /path/to/script
脚本看起来像这样,你chmod +x /路径/到/脚本
#!/bin/bash
set -x
today=$(date -d "today 00:00" "+%s")
if [[ -s ~/cronflag && -f ~/cronflag ]]; then
if [[ $(( $today - $(cat ~/cronflag ) )) -ge 604800 ]]; then
echo huzzah!
# /path/to/weekly
echo $today > ~/cronflag
exit 0
fi
else
# /path/to/weekly
echo hip-hop huzzah!
echo $today > ~/cronflag
exit 0
fi
您应该能够得到您想要的结果,假设 a) 您在看到 # /path/to/weekly (没有 # ;})的两个位置添加了您想要每周完成的事情,并且 b) 机器通常正常运行时间为 > = 10 分钟。