クローンメール出力

クローンメール出力

月に一度実行するこのスクリプトがあり、出力を私の電子メールで送信したいと思います。

このように手動で実行すると、標準出力がマイメールに送信されます。

./monthly_mail.sh | mail -s "Mail purged" [email protected]

ただし、次の行を自分のアイテムに追加すると、空のcrontabメールのみが届きます。スクリプトのstdoutputがパイプで接続されていないのはなぜですかmail

* * 2 * * /var/mail/monthly_mail.sh | /usr/bin/mail -s "Mail purged" [email protected]

ベストアンサー1

試してみるいくつかの作業があります。

  1. 正しいcrontabスペル

    ファイルに入れる場合は、/etc/crontabcronジョブを実行するユーザーを指定する必要があります。したがって、行は次のようになります。

    * * 2 * * root /var/mail/monthly_mail.sh | /usr/bin/mail -s "Mail purged" [email protected]
    

    コマンドがroot実行されるユーザーです。必要に応じて変更してください。

  2. cronの外でEメールをテストする

    ファイルから cron を実行するユーザーとしてコマンドを実行できることを確認します。/etc/crontabまず、シェルでスタンドアロンで実行し、それをcrontabに移動します。

    $/var/mail/monthly_mail.sh | /usr/bin/mail -s "メールが削除されました"[Eメール保護]

  3. 出力を確認してくださいMAILTO

    Cronには通常、STDOUTまたはSTDERRで生成されたすべての出力を取得できるデフォルトのユーザーがいます。ユーザーに電子メールで送信されたエラーメッセージがあることを確認してください。これにより、コマンドが実行されなかった理由がわかります。このメールアドレスは通常、cron で次のように構成されます。

    [email protected]
    

おすすめ記事