当我安装新的 Linux 系统时,我的首要任务之一就是让 crontab 将所有电子邮件发送到指定的电子邮件地址,而不是 root。我想对at
命令做同样的事情。
那就是我想要at
命令发送它的工作结束发送电子邮件至与调用 at 命令的用户不同的电子邮件地址。
但是我找不到在哪里at
配置。我一直在研究我的 CentOS 6.4 系统,但没有成功。
答案1
CentOSat
配置文件位于/etc/sysconfig/atd
根据手册页,邮件通知如下:
如果文件 /var/run/utmp 不可用或已损坏,或者用户在调用 at 时未登录,则邮件将发送到环境变量 LOGNAME 中找到的用户 ID。如果未定义或为空,则假定当前用户 ID。
一种建议是编辑 /etc/aliases,并为您的本地用户分配一个不同的电子邮件地址。这样做将使at
的邮件按照您想要的方式重定向。
答案2
在某些情况下,“at”命令完全丢失,需要安装该软件包。查找 at.x86_64 或 at_i386、at_i486、at_i586 软件包。
OEL71 和 CentOS 都可以通过以下方式添加它:
yum -y 安装
例如: yum -y install at.x86_64
如果您尝试从另一台主机复制命令,则当由 root 以外的任何主机运行时,您将收到 pam 身份验证错误。
答案3
在许多供应商版本中,“at”功能未适当初始化,您可能必须激活 at 命令的 /etc/init.d 编程。
它的工作原理基本上是使用不同的文件来完成其工作,但通常由 crond 守护进程处理此操作。然而,在某些实现中,存在一个特殊的 at 守护进程,仅用于处理所有 at 命令。