ブログBlog

cronでプログラムをスケジューリング

所沢でWebサイト制作や欧州輸入品を販売しているRishunTradingです。
今回は、定期処理を実行する際によく使用するcronについて記載したいと思います。
cronを覚えておくと、プログラムのスケジューリングが可能となりますので、メールマガジンの日時指定配信や、バックアップ処理、夜間の定期処理など様々な事に活用する事ができます。

1.cronとは

cronについてお話をする前に、cronとは何?という方に簡単に説明しますと、cronとは、「何を」、「いつ」、「どのくらいの頻度で」をサーバーに設定する事で、プログラム実行のスケジューリングができるLinuxサーバーの機能の事です。
なお、設定するコマンド名、または設定ファイル名は、「crontab」となります。

2.cronの書き方

crontabコマンドを実行するためには、SSHソフトからサーバーにログインし、コマンドを実行する必要があります。そのため、事前に、TeraTermなどをセットアップしてSSHでサーバーに接続できるようにしておく必要があります。
※SSHやTeraTermをご存じで無い方は、ネットで検索して事前に設定しておきましょう。

2.1.crontabファイルの開き方

 

上記のコマンドを実行すると、vi(テキスト編集エディタ―)が起動し、crontabファイルを開く事ができます。crontabファイルの1行が、「何を」、「いつ」、「どのくらいの頻度で」実行するかの設定になります。
キーボードのiを押して編集モードにし、crontabファイルをcrontabファイルのルールに従って、「何を」、「いつ」、「どのくらいの頻度で」実行するかを記載します(記載方法は後述します)。編集が完了しましたら、キーボードの:wqで編集内容を保存し、終了します。

参考)vi(テキスト編集エディタ―)のコマンド簡易表

オプション説明
i編集モードにする
x1文字削除する
dd1行削除する
:wq編集内容を保存して終了

 

参考)crontabのオプション

オプション説明
-ecrontabファイルの編集
-lcrontabファイルの内容表示
-rcrontabファイルの設定削除
-ucronを設定するユーザーを指定

 

2.2.スケジューリング方法(タスクの記述)

crontabファイルの各行に、以下に記載した構文で、動かすプログラムのスケジューリング(タスク)を定義します。なお、以下の構文を見て頂けると分かりますが、最小のタイミングは分です。分より細かいタイミングで定義することはできません。

 

2.2.1.各フィールド(分・時・日・月・曜日)の書き方

分から曜日までの各フィールドには以下のように複数の値が設定可能となっています。

設定法説明記述例
列挙,(コンマ) で値のリストを指定1,3,6
範囲指定-(ダッシュ)で値の範囲を指定1-6(1,2,3,4,5,6と同じ)
間隔指定/(スラッシュ )で間隔を指定*/10(時なら0,10,20と同じ)
全て*(アスタリスク)*(時なら1時間毎と同じ)

 

2.2.2.実行するコマンドの書き方

動かすプログラム(スクリプトや実行モジュール)を絶対パスで指定します。パラメータにファイルを指定する場合も絶対パスとなりますので、ご注意ください。

phpのプログラム実行をスケジューリングする場合には、phpのあるディレクトリを絶対パスで記述したphpの実行コマンド名(php)と、該当のphpプログラムを絶対パスで記述します。
※phpの実行コマンドに、パスが通っている場合には、絶対パスで指定する必要はなく、phpだけで大丈夫です、サーバーによって事なりますので、お使いのサーバーをご確認ください。

例)example.phpを1時間おきに動かす場合

 

例)example.phpを毎日夜中の2:00に動かす場合

 

2.3.crontabファイル保存時のエラー

crontabコマンドで編集をしたときに、ファイル内容に誤りがあればエラーメッセージが表示されます。

 

3.うまく動かない時には

該当のプログラムをcrontabに登録せずに、まずは、実際に動かしてみて動作に問題がないか確認してから、crontabに登録しましょう。

phpのプログラムであれば”php (実行するphpファイル名).php”で実行できます。

WEB DESIGN

RishunTradingでは、日本にはないコンセプトや高いデザイン性をもったヨーロッパ製品の輸入販売、及び、Webサイト制作事業などをおこなっております。

「全てお任せ!ホームページ制作」は、ドメイン取得からサーバー設定、レスポンシブルデザイン(スマホ、タブレット対応)、SEO対策がすべて含まれたお得なホームページを制作するサービス商品です。

運用開始後に「Webサイト運用管理サービス(保守)」と組み合わせて購入しますと、メンテナンス、更新も含めてすべて弊社で実施しますので、お客様は安心して本業に集中する事ができます。

しかもなんと、「全てお任せ!ホームページ制作」は、¥100,000!で提供しております。

本業が忙しい中小企業様に大変ご好評を頂いている商品です。

  • 独自ドメイン取得

    独自ドメイン取得

  • サーバー開設&設定

    サーバー開設&設定

  • レイアウト設計

    レイアウト設計

  • レスポンシブルデザイン

    レスポンシブルデザイン
    (*1)

  • 検索エンジン最適化(SEO対策)

    検索エンジン最適化
    (SEO対策)

  • 場所Maps

    場所Maps

  • お問い合わせフォーム

    お問い合わせフォーム

  • SSL化

    SSL化

  • 各種SNS連携

    各種SNS連携

  • 運用マニュアル

    運用マニュアル

≫詳細はこちら

MENU