技術ノート 特徴 Linux でタスクをスケジュールする方法: Crontab ファイルの概要

Linux でタスクをスケジュールする方法: Crontab ファイルの概要

Linux でタスクをスケジュールする方法: Crontab ファイルの概要

Linux の cron デーモンは、特定の時間にバックグラウンドでタスクを実行します。 Windows のタスク スケジューラのようなものです。適切な構文を使用してシステムの crontab ファイルにタスクを追加すると、cron が自動的にタスクを実行します。

Linux でタスクをスケジュールする方法: Crontab ファイルの概要

Crontab ファイルを使用すると、バックアップ、システム メンテナンス、その他の反復的なタスクを自動化できます。構文は強力かつ柔軟であるため、タスクを 15 分ごとに実行したり、毎年特定の日の特定の分に実行したりできます。

Crontab を開く

Linux でタスクをスケジュールする方法: Crontab ファイルの概要

まず、Linux デスクトップのアプリケーション メニューからターミナル ウィンドウを開きます。 Ubuntu を使用している場合は、ダッシュ アイコンをクリックし、「ターミナル」と入力して Enter キーを押してターミナルを開きます。

crontab -e コマンドを使用して、ユーザー アカウントの crontab ファイルを開きます。このファイル内のコマンドは、ユーザー アカウントの権限で実行されます。システム権限でコマンドを実行したい場合は、 sudo crontab -e コマンドを使用して root アカウントの crontab ファイルを開きます。 Linux ディストリビューションで sudo が使用されていない場合は、代わりに su -c “crontab -e” コマンドを使用してください。

編集者の選択を求められる場合があります。 Nano が利用可能な場合は、番号を入力して Enter キーを押して選択します。 Vi や他のより高度なエディターは上級ユーザーに好まれるかもしれませんが、Nano は使い始めるのが簡単なエディターです。

Nano テキスト エディターが表示されます。これは、ターミナル ウィンドウの上部にある「GNU nano」ヘッダーで識別されます。そうでない場合は、crontab が vi テキスト エディターで開かれた可能性があります。

vi の使用に慣れていない場合は、vi に :quit と入力し、Enter キーを押して vi を閉じます。 export EDITOR=nano コマンドを実行し、 crontab -e を 再度実行して、Nano で crontab ファイルを開きます。

Linux でタスクをスケジュールする方法: Crontab ファイルの概要

新しいタスクの追加

矢印キーまたはページダウン キーを使用して、Nano の crontab ファイルの一番下までスクロールします。 # で始まる行はコメント行であり、cron がそれらを無視することを意味します。コメントはファイルを編集している人に情報を提供するだけです。

crontab ファイル内の行は、次の順序で書き込まれ、次の許容値が使用されます。

分(0-59) 時(0-23) 日(1-31) 月(1-12) 平日(0-6) コマンド

アスタリスク (*) 文字を使用して、任意の値と一致させることができます。たとえば、月にアスタリスクを使用すると、コマンドが毎月実行されます。

たとえば、コマンド /usr/bin/example を毎日午前 12 時 30 分に実行するとします。次のように入力します。

29 0 * * * /usr/bin/example

分、時、曜日の値は 0 から始まるため、30 分マークには 29 を、午前 12 時には 0 を使用します。日と月の値は 0 ではなく 1 から始まることに注意してください。

Linux でタスクをスケジュールする方法: Crontab ファイルの概要

複数の値と範囲

複数回指定するには、カンマ区切りの値を使用します。たとえば、次の行

0,14,29,44 * * * * /usr/bin/example2

毎日、毎時 15 分に /usr/bin/example2 を実行します。新しいタスクは必ず新しい行に追加してください。

値の範囲を指定するには、ダッシュで区切られた値を使用します。たとえば、次の行

0 11 * 1-6 * /usr/bin/example3

/usr/bin/example3 は毎日正午に実行されますが、それは年の最初の 6 か月のみです。

Linux でタスクをスケジュールする方法: Crontab ファイルの概要

ファイルを保存する

Ctrl-O を押して Enter を押して、crontab ファイルを Nano に保存します。ファイルを保存した後、Ctrl-X ショートカットを使用して Nano を閉じます。

「crontab: 新しい crontab をインストールしています」というメッセージが表示され、新しい crontab ファイルが正常にインストールされたことが示されます。

Linuxコマンド

ファイル

tar pv cat tac chmod grep diff sed ar man pushd popd fsck testdisk seq fd pandoc cd $PATH awk join jq fold uniq journalctl · tail · stat · ls · fstab · echo · less · chgrp · chown · rev · look · strings · type · rename · zip · unzip · mount · umount · install · fdisk · mkfs · rm · rmdir · rsync · df · gpg · vi · · mkdir · du · ln · パッチ · 変換 · rclone · シュレッド · srm · scp · gzip · chattr · カット · 検索 · umask · wc · tr

プロセス

エイリアス · スクリーン · トップ · ナイス · renice · 進行状況 · strace · systemd · tmux · chsh · 履歴 · at · バッチ · フリー · what · dmesg · chfn · usermod · ps · chroot · xargs · tty · pinky · lsof · vmstat · タイムアウト · ウォール · はい · キル · スリープ · sudo · su · タイム · groupadd · usermod · · lshw · シャットダウン · 再起動 · 停止 · パワーオフ · パスワード · lscpu · crontab · 日付 · bg · fg · pidof · nohup · pmap

ネットワーキング

netstat ping ip ss whois fail2ban bmon dig finger nmap ftp curl wget who whoami w iptables ssh-keygen ufw arping firewalld

関連: 開発者と愛好家のための最高の Linux ラップトップ

「Linux でタスクをスケジュールする方法: Crontab ファイルの概要」に関するベスト動画選定!

CRONとは?【分かりやすい解説シリーズ #64】【プログラミング】
チュートリアル: Linux および Unix でバックアップと Crontab スケジュールを実行する方法