无法在'linux'下运行脚本

时间:2014-01-31 01:59:03

标签: linux bash scripting

我在运行'at'命令运行脚本文件时遇到问题: 这个工作正常:

[myid@els-e37620 init.d]$ at now + 2 min
at> echo "this is my test" | write myid >/dev/null 2>&1
at> <EOT>
job 20 at Thu Jan 30 17:26:00 2014

但是当我尝试使用'at'运行我的脚本时没有任何反应:

[myid@els-e37620 init.d]$ at now + 2 min
at> ./users/myid/bashtest.sh
at> <EOT>
job 21 at Thu Jan 30 17:31:00 2014

据我所知,该作业被添加到'at'队列并在指定时间后删除但没有任何反应!它是在其他地方执行的吗?

非常感谢

1 个答案:

答案 0 :(得分:0)

由于可能存在安全问题,at命令通常会被禁用。在过去,可以设置at作业,然后进入队列并在作业开始之前更改脚本,包括环境。

您需要查看的一件事是at.allowat.deny文件。这些内容有时会保留在/etc目录下,有时位于/var下,有时位于/usr/lib/cron下。您需要查看您的联机帮助页以查找实际位置。如果有一个空的at.allow文件,则无法在作业中运行任何文件。

您应该查看atrun命令的联机帮助页。 atrun命令执行at个作业。在某些系统上,必须在root的crontab文件中设置atrun命令。在Mac上,它由launchd守护程序运行,您必须运行launchctl命令才能启动atrun进程。