【入門】cron(クロン)設定・書き方の基本

Linuxサーバーの管理をしていると、プログラムを定期的に実行したい場合があります。そのようなときは、「cron」という機能をお試しください。ルールがやや複雑ですが、仕組みがわかればいろいろな予約とその繰り返しに応用できます。これでサーバーを効率良く、さらに正確に管理できるようになります。

cron(クロン)設定・書き方の基本

cronとは?

Linuxサーバーの管理で、大切な設定方法の一つです。ポイントは「何を」「いつ(頻度)」実行するかを決めて、そのルールを書き込むことです。正しく設定したかをチェックすることも大切です。似たような用語に「crontab」がありますが、その違いについても簡単に解説しましょう。

なお筆者は、長い間「複製」の意味の「クローン(clone)」と勘違いしていました。二つともITの現場で使われていますが、スペルも機能も異なります。こちらの記事は「cron」についてです。

cronとは?

cron利用のメリット

だいたい以下のポイントに整理できると考えます。

・指定したプログラムの動作を予約できる
・実行する頻度を細かく調整できるので、自動的に繰り返すことができる
・以上によりサーバー管理者の負担とミスは減り、より効率良くサーバーの管理業務ができる

cron利用のメリット

cronとcrontabの違い

他のサーバー管理の専門用語でよくあるように、言葉に似ていても意味が異なります。「cron」は機能を示す名称で、一方「crontab」はコマンド名またはファイル名です。

cronで何ができるの?

それでは、便利な用途をいくつかご紹介しましょう。cronを正確に設定すれば、これで定型的な業務もはかどりますね。

定期的なファイル転送を自動化して、Webサイトを楽に更新する!

PCの前に24時間張り付いて、FTPなどの操作する必要はありません。cronで設定しておけば、早朝や外出時でもファイル転送プログラムが自動的に稼働するからです。
定期的なファイル転送を自動化して、Webサイトを楽に更新する!

Webサイトの定期的なバックアップに

いざというときのバックアップも、定期的な作業としてcronに登録しておけば安心ですね。実施時間、対象フォルダやファイルなどを指定するなどルール化して、設定しましょう。
Webサイトの定期的なバックアップに

メールマガジンの日時指定配信などに

お客様にお届けする原稿を事前に用意し登録しておけば、予約時間にメールマガジンとして自動配信が可能です。
メールマガジンの日時指定配信などに

その他にもできることは多い

無料SSLが使える「Let’s Encrypt」を、cronで自動更新(3か月毎)することもできます。こちらの記事の下の方で、スクリプトのサンプルをご紹介しています。

【無料SSL入門】「Let’s Encrypt」とは?設定で挫折しない!使い方解説
https://www.kagoya.jp/howto/webhomepage/lets-encrypt/

その他繰り返し動かしたいプログラムがある場合は、応用して実現できる場合もあります。まずは設定方法の基本をマスターしてから、チャレンジしてみてはいかがでしょうか。

cronの書き方と設定事例

cronの書き方と設定事例

それでは実践編として、操作と書き方の説明に移ります。一つひとつのルールはシンプルです。

cronの操作方法

cronの操作でよく使うコマンドをまとめています。事前準備として、suコマンドでプログラムの実行権限を持つユーザーになりましょう。

cronの開き方

【コマンド】

cronの表示方法

【コマンド】

cronの削除方法

【コマンド】

cronファイルの書き方

cronファイルはスケジュールを指定する部分と、コマンドを指定する部分とで構成されています。基本ルールは以下の通りです。スケジュールとコマンドの間は半角空けます。

スケジュールを指定する部分

初期状態は「* * * * *」と「*」が5つ並び、毎分(1分毎)にコマンドが実行されます。「*」と「*」の間は半角空けます。
【コマンド】

「*」の位置(左端から) 頻度 指定できる数字 備考
1番目 0-59
2番目 0-23
3番目 1-31
4番目 1-12
5番目 曜日 0-7 0と7は日曜日

【例1】毎月10日の午前4時59日にコマンドを実行する場合
【コマンド】

【例2】毎時0分で1時間おきにコマンドを実行する場合
【コマンド】

【ここがポイント!】
このように「/」を入れると繰り返したい間隔が指定できます。

コマンドを指定する部分

スケジュールを指定する部分より半角空けて、コマンドを指定します。

【ここがポイント!】
実行するプログラムをフルパスで指定します。

【例3】毎月10日の午前4時59日にコマンド「/home/test01/test.sh」を実行する場合
【コマンド】

注意事項

cronが動作していない場合

ログやエラーメッセージを確認し、「環境変数のパス」を見直すと解消される場合があります。

指定するスケジュール

可能な限り、「切りのいい」数字は避けるようにしましょう。例えば毎時00分とする場合などです。同時刻に動くプログラムが他にある確率が高くなるからです。このように同時に複数のプログラムが動き始めると、サーバー全体に負荷がかかり不安定になったり、処理速度が低下しがちです。

事例紹介

一例として、無料SSL「Let’s Encrypt」をcronで自動更新することができます。Let’s Encryptには有効期限(3ヶ月)があり、その期限を過ぎると無効になります。自動更新の設定をしておけば、たとえ忘れたとしても安心ですね。手順は以下の通りです。

cronをroot権限で開く

【コマンド】

コマンドを登録する

一例として毎月第2火曜日の午前4時59分に、Let’s Encrypt の証明書を更新するコマンド「certbot renew」を実行します。さらに更新のあとに、Webサーバーを再起動します。CentOS 7でWebサーバーとしてApacheを使用している場合は、以下のように登録します。

【コマンド】

【ここに注意!】
スケジュールを指定する部分は。自由に決めることができます。ただし、Let’s Encrypt」の場合は有効期限が3ヶ月のため、それ以内に更新プログラムが動かす必要があります。3ヶ月以上の頻度にすると、有効期限が過ぎてから更新プログラムが動くため、更新自体ができません。

cronが使えるレンタルサーバーがおすすめ!

一般的にはcronの操作は難しいため、利用できるレンタルサーバー業者が限られています。それらのサービスは、より手軽で同時にミスを防ぐことができるよう工夫されています。一例として、カゴヤ・ジャパンの場合をご紹介しましょう。

カゴヤのレンタルサーバーではcronが簡単に使える!

カゴヤ・ジャパンでは、ブラウザで視覚的に設定ができます。コマンドを全て書く必要がありません。共用レンタルサーバーのサービスプランでは、「S22」以上で利用可能です。「S12」は不可のため、申し込みの時は注意しましょう。

【サービスプラン】 「S22」について

企業名 カゴヤ・ジャパン
プラン名 共用レンタルサーバー
ディスク容量 SSD 200GB
メール容量 100GB
データベース容量 SSD 10GB
月額費用 2,200円(税込価格)
無料お試し期間 2週間

cron設定の流れ(カゴヤの場合)

(1)コントロールパネルにログインする

(2)メニューより「CRON設定」を選択する

(3)【簡易的な記述方法の場合】「CRON設定ウィザード」欄の「開始」ボタンをクリックする

(4)「周期」(実行頻度)を選択し、次に進むボタンをクリックする(画面は毎日一回の場合)

(5)実行時間を選択し、次に進む(画面は毎日0時0分の場合)

(6)「実行するプログラムの種類」と「指定方法」を選択し、次に進むボタをクリックする

あとはプログラムを指定し確定すれば設定完了です。

カゴヤ・ジャパン公式サイトでは、以下のページに詳しい操作方法が掲載されています。

CRON設定
https://support.kagoya.jp/kir/manual/cron/index.html

まとめ

ここまでいかがでしたか。cronの意義を理解すれば、ご利用のサーバーをより効率的に管理や運営ができるようになります。ブラウザ上で簡単に操作ができるカゴヤ・ジャパンの「共用レンタルサーバー」がおすすめです!ぜひご活用ください。

共用レンタルサーバー

???e?E?A?Z?L??c?A?E?A??a?A?n^?p?A??a?eWordpress??o?[?U?[?u??P?E?gA?n?a??E??WordPress?e?p?T?[?o?[

人気記事ランキングトップ10

共用レンタルサーバー

高速でセキュアな環境で運用できるWordpressユーザー向けに特化したWordPress専用サーバー

カテゴリ一覧

新着記事Pick Up!