「Linux」で「cron」を使用してジョブをスケジュールするには

今回は「「Linux」で「cron」を使用してジョブをスケジュールするには」についてご紹介します。

関連ワード (Linuxノウハウ、特集・解説等) についても参考にしながら、ぜひ本記事について議論していってくださいね。

本記事は、ZDNet Japan様で掲載されている内容を参考にしておりますので、より詳しく内容を知りたい方は、ページ下の元記事リンクより参照ください。


 「Linux」は地球上で最も柔軟性に優れたOSの1つである。Linuxでできないことはほとんどない。単純なコマンドラインツールを使用してタスクを自動化することさえ可能だ。

 そのツールは「cron」と呼ばれ、Linux OSのジョブをスケジュールする機能を提供する。

 例えば、「Documents」(ドキュメント)フォルダー内のすべてをバックアップする簡単なバックアップスクリプトを作成したとしよう。このスクリプトは、backup.shという名前で、以下のような感じだ。

 そのスクリプトを/usr/local/binに保存して、以下のコマンドで適切な実行権限を付与する。

 このバックアップスクリプトは、手動で毎日または毎週実行する代わりに、cronを使用して自動化することが可能だ。以下でその方法を紹介する。

 ターミナルウィンドウをまだ開いていない場合は、今すぐ開いてほしい。

 cronシステムは、cronジョブ用の独自のエディターを備えている。crontabを編集モードで開くには、以下のコマンドを実行する。

 crontab -eコマンドを今回初めて実行する人は、デフォルトのエディターを選択する必要がある。筆者のお薦めは、最も使いやすいLinuxテキストエディターである「nano」だ。

 ファイルの最後に、新しいcronジョブのエントリーを作成する。このステップは多少ややこしい。使用する時刻/日付は、非常に具体的な形式で表される。時刻と日付には、分(0~59)、時(0~23)、日(1~31)、月(1~12)、曜日(0~6。ただし、Sunday、Monday、Tuesdayなどを使用することも可能で、Sundayは0、7、Sundayで表すことができる)の5つのエントリーがある。毎週日曜日の午後11時にバックアップを実行したい場合、crontabの時刻/日付エントリーは0 23 * * 0となる。そのcronジョブを毎週金曜日の午後11時59分に開始したい場合、エントリーは59 23 * * 5となる。

 土曜日の午後11時59分に実行する場合の完全なcronエントリーは、以下のようになる。

 エントリーの> /dev/null 2>&1の部分は何なのだろうか。簡単に説明すると、スクリプトからの出力がある場合、それは抑制されなければならない。そうしないと、エラーが発生する可能性があるからだ。そのため、>を使用して、すべての出力を/dev/null(システムのゴミ箱のようなもの)に送信し、2>&1によって、すべてのエラーの送信先をcronに指示している。

 「Ctrl」+「X」でファイルを保存して閉じる。crontabファイルを保存すると、ジョブの準備が整い、設定した時刻に実行される。ジョブを最初に実行する前に、スクリプトをテストして、エラーなしで完了するか確認しておくことをお薦めする。これは、backup.shコマンドで実行可能だ。

 cronの機能、そして、cronを使用して、Linux OS用に作成したスクリプトを簡単に自動化する方法の説明は、以上である。

COMMENTS


Recommended

TITLE
CATEGORY
DATE
データ、アナリティクス、AIの2021年を占う(2)–リテラシーと文化、ガバナンス、コロナ禍の変化
IT関連
2021-02-15 14:58
Telegram、米ユーザーの数百件の暴力扇動投稿を削除 「政治的議論は歓迎するが暴力は阻止する」とCEO
アプリ・Web
2021-01-20 08:16
オラクル、顧客のクラウド移行加速へ–「Support Rewards」プログラム発表
IT関連
2021-06-23 16:23
動画配信「TELASA」、一時視聴しづらい状態に 仮面ライダー特番で視聴者殺到 運営元「YouTube見て」
企業・業界動向
2021-02-10 22:21
企業のデータ活用を促進へ–日本テラデータ、2021年の事業戦略を発表
IT関連
2021-02-16 08:14
全く新しいファイアウォール–分散型セキュリティ「Hypershield」を展開するシスコシステムズ
IT関連
2024-12-21 20:03
「Windows 11」、Spotifyを流して仕事に集中できるタイマーを導入へ
IT関連
2021-08-10 10:14
「いまだかつてない方法でデータを捉え、知見を導き出す」–日本オラクル
IT関連
2024-02-10 19:10
GoogleとSpaceX、衛星ネット接続「Starlink」で契約 年内にサービス提供開始へ
企業・業界動向
2021-05-15 08:23
医療機器や制御システムに影響する脆弱性「NAME:WRECK」 つながるモノがはらむ危険性に警鐘 :この頃、セキュリティ界隈で(1/2 ページ)
セキュリティ
2021-04-20 04:25
Flutter for Windowsが正式版に、「Flutter 2.10」リリース。単一コードでiOS/Android/Web/Windowsアプリが可能に
Dart
2022-02-07 19:28
「Kotlin」が人気言語ランキングトップ20に返り咲き–9月のTIOBE指標
IT関連
2023-09-13 08:11
サイボウズ、地方銀行との協業事例を紹介–「Bank Transformation」の実現を目指す
IT関連
2023-07-20 21:35
ヴイエムウェアが注力する「デジタルファウンデーション」とは何か
IT関連
2021-05-07 14:48