at コマンドはどのように、どこで設定されますか?

at コマンドはどのように、どこで設定されますか?

新しい Linux システムをインストールするとき、最初に行う作業の 1 つは、crontab がすべての電子メールを root ではなく指定された電子メール アドレスに送信するようにすることです。コマンドでも同じことを実行したいと考えていますat

つまり、atコマンドを送信したいのです仕事は終了しましたat コマンドを呼び出したユーザーとは別のメールアドレスにメールを送信します。

しかし、どこでat設定されているのかがわかりません。 CentOS 6.4 システムを調べてみたのですが、何も見つかりません。

答え1

CentOSのat設定ファイルは/etc/sysconfig/atd

マニュアルページによると、メール通知は次のようになります。

ファイル /var/run/utmp が利用できないか壊れている場合、または at が呼び出されたときにユーザーがログオンしていない場合、メールは環境変数 LOGNAME にあるユーザー ID に送信されます。このユーザー ID が未定義または空の場合、現在のユーザー ID が想定されます。

1 つの提案としては、/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 デーモンが存在します。

関連情報