在重新启动后,以“ at”安排的作业是否会持续存在?另外,有人知道可以在不访问相关后台打印目录的情况下备份作业的方法吗?
我想从现在到一年(即1周,1个月,6个月)以指定的时间间隔发送电子邮件,因此这似乎是一个很好的工具,也许有更好的工具了?
在重新启动后,以“ at”安排的作业是否会持续存在?另外,有人知道可以在不访问相关后台打印目录的情况下备份作业的方法吗?
我想从现在到一年(即1周,1个月,6个月)以指定的时间间隔发送电子邮件,因此这似乎是一个很好的工具,也许有更好的工具了?
Answers:
是的,它们在重新启动后是持久的(它们只是后台处理程序中的文件)。
关于访问它们,作为普通用户,您将无法访问文件,但是您可以构建一个系统来备份它们。也许是这样的:
MYAT=~/atjobs
/bin/rm -rf $MYAT/*
at -l >$MYAT/JOBS
for j in `cat $MYAT/JOBS | cut -f1`
do
at -c $j >$MYAT/$i
done
如果您以后需要重新加载作业:
for j in `cat $MYAT/JOBS | cut -f1`
do
# make sure the job isn't defined
atrm $j
# reload it from the file
at -f $MYAT/$j `grep ^$j $MYAT/JOBS | awk '{ print $3, $2 }'`
done
(大多数都未经测试。基本命令是正确的,但是肯定有逻辑上的错误)
说了这么多,我不确定我会用at做您描述的任务。我可能会使用一个预先存在的日历系统。但是,如果失败了,我将使用每天运行的cron作业来检查文件,以查看是否有任何消息要发送。比工作更便携,如果您切换机器,更容易被记住...
当您在at安排作业时,即使完成重新引导(它们存储在/ var / spool / cron / atjobs中),该作业仍在计划中。
Cordialy,