场景:您有一位用户无法访问 cron并需要安排一项工作(例如目录的 rsync)。使用at
不是一个选项,因为您没有固定的结束日期。
尽管我敢打赌有成千上万种方法可以实现这一点,但我的方法如下:
答案1
快速而肮脏:
打开一个屏幕会话并创建一个像这样的while循环:
while : ; do
clear
echo "$(date : Hey, I'm running this nice stuffz)"
time do_stuff
sleep 1d
这里的关键是sleep
命令:它接受的不仅仅是毫秒值。还有秒 (s)、分钟 (m)、小时 (h) 和天 (d) 的格式说明符。此外,GNU sleep 不仅能够处理整数作为值,而且实际上还可以处理任意浮点数 ( info '(coreutils) sleep invocation'
)。这意味着您可以编写如下内容:
sleep 0.33d or sleep 0.5h
后者几乎没用,但你知道 ;)