
新しい 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 デーモンが存在します。