“at”职位的自定义 ID

“at”职位的自定义 ID

我一直习惯于at安排在特定日期和时间发送电子邮件。问题是我希望at执行的命令应该将作业 ID 作为参数,因此为什么我应该是生成它们的人。除此之外,at使用的根本不是 id,而是自动递增的计数,这意味着我必须担心它们何时会重置。

我的主要询问是使用自定义 ID 创建新的职位。这意味着在使用以下命令创建作业时:echo "touch file" | at now + 1 minute,如果它可以是这样的:echo "touch file" | at -i <custom-id> now + 1 minute。这样当我点击 时atq,我会发现:<custom-id> Mon Feb 24 19:00:00 2020 a user

那么,当我使用 OR 创建作业时,是否有一种方法可以自定义作业at,或者是否有任何可扩展性更好的开源替代方案?

答案1

at您可以使用此类代码获取提交的作业编号。该示例提交了一个仅休眠五分钟的作业,因此您显然必须对此进行调整。提交的输出at如下所示job 1175 at Mon Feb 24 18:28:00 2020grep命令与此匹配以提取作业编号

job=$( echo "sleep 300" | at now 2>&1 | grep -oP 'job\s+\K\d+' )
echo "The job identifier is $job"

在将作业编号提交给 之前,无法识别该作业编号at

相关内容