使用“at”安排的作业在重新启动后是否持久?另外,有人知道可以在不访问相关假脱机目录的情况下备份作业的方法吗?
我想从现在到一年(即 1 周、1 个月、6 个月)以指定的时间间隔发送一封电子邮件,所以这似乎是一个很好的工具,也许有更好的工具?
jj3*_*j33 10
是的,它们在重新启动后是持久的(它们只是线轴中的文件)。
关于访问它们,作为普通用户,您将无法访问这些文件,但您可以构建一个系统来备份它们。也许是这样的:
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
Run Code Online (Sandbox Code Playgroud)
如果您需要稍后重新加载作业:
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
Run Code Online (Sandbox Code Playgroud)
(这大部分都未经测试。基本命令是正确的,但逻辑中肯定存在某个地方的错误)
尽管如此,我不确定我是否会使用 at 来完成您所描述的任务。我可能会使用预先存在的日历系统。但如果失败,我将使用每天运行的 cron 作业来检查文件以查看是否有任何消息要发送。比工作时更便携,如果你换机器更容易被记住......