Linux 命令在重启后是否持久存在?

Linux 命令在重启后是否持久存在?

使用“at”安排的作业在重启后是否持久?另外,有人知道可以在不访问相关假脱机目录的情况下备份作业的方法吗?

我想从现在起至一年内以指定的时间间隔发送一封电子邮件(即 1 周、1 个月、6 个月),所以这似乎是一个很好的工具,也许有更好的工具?

答案1

是的,它们在重启后仍然有效(它们只是假脱机中的文件)。

关于访问它们,作为普通用户,您将无权访问这些文件,但您可以构建一个系统来备份它们。也许是这样的:

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 作业更便携,而且如果您换了机器,更容易被记住……

答案2

当您使用 at 安排一项工作时,即使重新启动(它们存储在 /var/spool/cron/atjobs 中),该工作仍会按计划进行。

诚挚的,

答案3

我很少使用 at 命令,但我曾经使用过计划任务来安排要执行的任务,并且它在重启后仍然有效。cron 已经为我工作了大约十五年。

如果需要每天执行一次命令,然后即使系统宕机也执行一次,则可以使用阿纳克隆

相关内容