さくらのVPS で crontab を設定し、実行結果をメール送信する方法
2017/05/17 22:00
  • さくらのVPS で crontab を設定し、実行結果をメール送信する方法です。

    サーバー環境


    さくらのVPS
    ディストリビューション: CentOS 6 系
    メーラー: postfix (sendmail は使わない)
    

    先日、とあるバッチ処理で crontab を設定する機会があったのでメモを残します。

    crontab に登録する

    以下のコマンドで crontab を登録できます。

    $ crontab -e 
    

    vim が立ち上がるので、記法に添って入力します。
    5 0 * * * path/to/your/script/file_name
    

    設定項目の意味は適当にググって下さい…(をい

    上記の設定だと、毎日 00:05 にスクリプトが実行されます。
    今回は実行結果をメールで送信したいので一手間加えます。

    デフォルトの MTA に postfix を指定する

    まず、メールを送信できるようにします。

    postfix を有効にする作業を忘れないようにしましょう。

    $ alternatives --config mta
    
    There is 1 program that provides 'mta'.
    
      Selection    Command
    -----------------------------------------------
    *+ 1           /usr/sbin/sendmail.postfix
    

    crontab に MAILTO を追記する

    準備ができたらメールの宛先を追加します。
    MAILTO=account@your.domain
    5 0 * * * path/to/your/script/file_name
    

    MAILTO が未設定だと、 crontab がファイルの所有者宛にメールを送信します。なお、 MAILTO は大文字必須です。ぼくは間違えて小文字で書いていたことに気づかず、しばらくハマりましたw

    正しく実行されるとメールが届きます。
    本文にはスクリプト実行時の標準出力の内容がすべて出力されるようです。

    なお、 root@domainXX といういかにも怪しいアドレスが送信者となっているので、Gmail を使っている人は迷惑メールフォルダに直送されると思いますのでお忘れなく。。

    人気ブログランキングへ ブログランキング・にほんブログ村へ
    ↑応援よろしくお願いします!m(_ _)m

  • <2017/05/17 22:00>
  • サーバー
  • crontablinuxCentOScronMTAメール送信sendmailさくらVPSさくらのVPS
  • 新しい記事へ
    楽天カードの期間限定ポイントの有効な使い方

    古い記事へ
    Apache(httpd) の実行オプションの違いまとめ

profile picture

自己紹介的な何か

@wkmettyでついったーやってます。時々。 6年間勤めたゲーム会社を2018年2月に退職しフリーランスのプログラマに。 WordPress Core, WP-CLI コントリビューター。 お仕事募集中です。