在shell脚本中使用at命令来调度命令

时间:2014-12-31 10:03:02

标签: linux shell unix

我正在尝试使用“at”命令的功能来安排在某个用户定义的时间执行任何特定命令。想知道它是否可以使用“at”命令。我希望“at”可以帮助我,因为我没有权限安排cron任务。

我尝试过的事情:

user>touch testfile |at 03:00  
job 30 at 2014-12-31 03:00  
user>ls -lrt testfile  
-rw-rw-r--  1 user group 0 Dec 31 02:59 testfile  <-----file created with command execution  
user>  

user> touch testfile1 | at -f 03:01
Garbled time
user>ls -lrt testfile*
-rw-rw-r--  1 user group 0 Dec 31 02:59 testfile
-rw-rw-r--  1 user group 0 Dec 31 02:59 testfile1

1 个答案:

答案 0 :(得分:3)

使用:

echo "touch testfile" | at 03:00

您正在立即运行touch testfile,并将其输出汇总到atat的输入应该是您要运行的命令,而不是命令的输出。

如果要运行多个命令,请使用here-doc:

at 03:00 <<EOF
touch testfile
touch testfile1
EOF