我尝试过使用batch
和at
命令,但没有成功。我在某个位置有一个批处理文件,可以说“$DD/batchfile.batch”。这是我尝试过的。
batch -f $DD/batchfile.batch 10:00 today
at -f $DD/batchfile.batch 10:00 today
虽然它会添加作业,并且我可以在 下看到它atq
,但它似乎没有执行批处理。当时间到来时,没有任何反应,该批次将从队列中删除。如果我在终端中单独运行批处理文件,它就会正确执行。
有任何想法吗?
答案1
我猜你的操作系统是 Linux 的某种风格。
确保您的$DD/batchfile.batch
文件存在并且可读且可执行。
我相信你的批次(1)工作开始了。也许它很快就退出了(例如因为PATH
对于批处理作业可能不是您的交互式作业PATH
,或者因为您的环境与交互式 shell 中的环境不同 - 请参阅环境(7))。你可以用一些开始你的脚本记录器(1)命令来获取系统日志中的一些日志信息和/或其中的一些重定向打印。您还可以使用类似以下命令启动批处理作业
/bin/date +"start of my batch %c%n" > /tmp/batchstart.stamp
echo path is $PATH >> /tmp/batchstart.stamp
/usr/bin/printenv >> /tmp/batchstart.stamp
稍后检查是否存在并使用某些编辑器(如或)或寻呼机(如)/tmp/batchstart.stamp
查看其内部emacs
gedit
less
顺便提一句,batch
,at
&定时任务(5)工作经常发送电子邮件(到您的帐户当地的机器)。您是否在本地计算机上安装了一些(也许是简单的)SMTP 服务器?您有有效的邮件帐户或别名(例如 中/etc/aliases
)吗?
另外,查看系统日志文件(通常在/var/log/
例如/var/log/messages
or /var/log/syslog
or /var/log/daemon.log
or下/var/log/auth.log
)