11

我正在尝试使atbash 命令运行,但它对我不起作用。我可以将作业添加到队列中,但时间到时它不会运行。我究竟做错了什么?

hpek@melda:~$ cat /usr/lib/cron/at.deny 
hpek@melda:~$ atq
hpek@melda:~$ at now +2 minutes
echo TTTEEEST
job 12 at Sun May  6 02:09:00 2012
hpek@melda:~$ date
Sun May  6 02:10:24 CEST 2012
hpek@melda:~$ atq
12  Sun May  6 02:09:00 2012
hpek@melda:~$ 

UPD2021.08.06 atd 在 MacOS 11.5.2(或更早版本)中被删除

$ sudo find / -name atd -print 2>/dev/null
$ 
4

6 回答 6

7

它工作正常。只是运行的命令at不会将其输出写入您调用它的终端。

尝试:

at now +2 minutes
echo TTTEEEST > new_file_test

您将在两分钟内看到该文件出现。

于 2012-05-06T00:20:00.180 回答
5

看看/var/at/jobs那里是否列出了您的 at 工作。(它可能是基于操作系统的不同目录)。

默认情况下,at在大多数系统上未启用。为了at实际执行作业,必须执行atrun命令。

该命令通过launchdcron执行,具体取决于系统。

确切的机制因系统而异,因此您必须阅读 , 等上的所有各种联机帮助页atatrun以验证是否at真的在您的系统上启用,以及您是否有权在作业中运行。您的系统上通常同时存在ant allowant deny文件,因此您需要同时检查这两个文件。您必须既在允许文件中,又不在拒绝文件中。

最重要的是,您必须确保at在您的系统上启用了它(出于安全考虑,它通常被禁用)。

于 2012-05-06T05:14:57.723 回答
1

请查收你的邮件:

   An at - or batch - command invoked from a su(1) shell will
   retain the current userid.  The user will be mailed standard
   error and standard output from his commands, if any.  Mail
   will be sent using the command /usr/sbin/sendmail.  If at is
   executed from a su(1) shell, the owner of the login shell
   will receive the mail.
于 2012-05-06T00:20:32.607 回答
1

我在这里找到了这个

首先使用如下命令确保 at 守护进程正在运行:

# ps -ef | grep atd
root 8231 1 0 18:10 ? 00:00:00 /usr/sbin/atd

如果您没有看到 atd 正在运行,请使用以下命令启动它:

# /etc/init.d/atd start
于 2017-09-08T08:20:09.263 回答
0

要分析 at(d) 执行问题,它可能有助于

  1. 检查 /etc/at.allow 和 /etc/at.deny 的存在和内容(参见 参考资料man at.allow
  2. 检查 atd spool 目录的所有者和访问权限(/var/spool/cron/atjobs, daemon:daemon, Ubuntu 上的 770)
  3. 检查 atd 守护进程是否正在运行(systemctrl -a | grep atd在 Ubuntu 上)
  4. tail -f /var/log/syslog(在执行时)
  5. journalctl -b | grep atd(发现here,包含更多提示)

at“权限被拒绝”错误也可能是由/etc/security/limits.conf 中定义的(针对正在运行的用户)登录次数有限引起的。

于 2020-07-04T06:55:49.423 回答
0

at与命令一起使用时,我也遇到了与 echo 相同的问题。但是,如果您尝试使用>or重定向输出,>>则它可以完美运行。还可以尝试其他一些系统命令reboot,例如ls > some_text_file等,以确保 at 命令正常工作。否则尝试 sudo systemctl enable --now atd启用at守护进程

于 2021-03-06T04:46:03.507 回答