如何打印工作内容?

我有一个Debian框,有一些工作计划at使用。 我知道我可以使用atq列出他们的工作时间,但除了偷窥到/var/spool/cron/atjobs外,还有什么方法可以打印出他们的内容吗?

at -c jobnumber将列出一个单一的工作。 如果你想看到所有这些,你可以创build一个脚本

 #!/bin/bash MAXJOB=$(atq | head -n1 | awk '{ print $1; }') for each in $(seq 1 $MAXJOB); do echo "JOB $each"; at -c $each; done 

也许有一个更短的方法来做到这一点,我只是从我的脑袋里popup:)

根据以前的回答,这列出了atq中每个工作的线路,显示了工作号码和计划时间,然后是要运行的命令,按时间顺序sorting(而不是工作号码):

 for j in $(atq | sort -k6,6 -k3,3M -k4,4 -k5,5 |cut -f 1); do atq |grep -P "^$j\t" ;at -c "$j" | tail -n 2; done 

生产,例如

 48 Fri Mar 10 15:13:00 2017 a root /usr/local/bin/a-command 47 Fri Mar 10 15:14:00 2017 a root /usr/local/bin/another-command 

一个更简单的方法:

 for j in $(atq | cut -f 1); do at -c "$j"; done 

你也可以看看每一个,反过来,这可能会更清楚:

 for j in $(atq | cut -f 1); do at -c "$j" | less; done