さくらの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
profile picture

自己紹介的な何か

@wkmettyでついったーやってます。時々。 普段はなんちゃってプログラマやってます。海外から帰任してからは現場に戻って最前線でコード書いてます。 週末は気の向くままにプログラミングしたり、写真撮りに出かけたり、家でhuluみながらまったりしたりしています。(*´ω`*)モキュ