Linux ターミナルを使用すると、単にコマンドを入力する以上のことが可能になります。今回は、Cron を使用したタスクの自動化について説明します。自動化により、繰り返しの作業を回避できるだけでなく、人間がいないときにもコンピューターに作業を任せることができます。これはサーバー上で特に役立ちます。
Cron は、特定の時間間隔でタスクを実行するデーモンです。 その機能は定期的なシステムメンテナンスタスクを処理することですが、興味のある他のタスクを追加することもできます。
悪魔について話すとき、私たちはコンピューターの中にいる小さな悪魔について話しているのではありません。 コンピューティングにおいて、デーモンとは、ユーザーとの直接の対話を必要とせずにオペレーティング システムのバックグラウンドで実行されるアプリケーションまたはプロセスです。 彼らの責任には、ネットワーク接続、印刷、Web サーバー、リソースの監視などが含まれます。
その主な機能のいくつか
- 通常はシステムのブートとともに開始されます。
- これらはバックグラウンドで実行されるため、ユーザーがその存在を意識する必要はありません。
- タスクを永続的に実行するか、特定のイベントに反応して実行するように設計されています。
Cronを使ったタスクの自動化
Cron に何を実行するかを指示したい場合は、crontab ファイルを使用して行うことができます。 これは、指定された日付に cron が実行する必要がある一連のコマンドを示す単純なテキスト ファイルです。 crontab ファイルには、システムが作成した crontab ファイルとユーザーが作成した crontab ファイルの 2 種類があります。
いかなる場合でも、Linux が構成とメンテナンスに使用するシステム crontab ファイルには触れないでください。このファイルはフォルダ内にあるため、誤って変更することは不可能です。 /etc/crontab です。
独自のcrontabを作成する
Cron では、割り当てるタスクに次の順序で指定されたパラメータが必要です。
h: 開始時間は 0 ~ 23 の範囲です。
m: 0~59 の間隔の分。
d: 1~31 の間の日付
メス: 年内の月を1~12の範囲で指定します
s: 0~6の範囲の曜日
このデータは crontab ファイル内に格納されます。このファイルを作成するには、次のコマンドを記述します。
crontab –u nombre de usuario –e
crontabをデフォルトユーザー用とする場合は、-uパラメータを省略できます。
初めて実行すると、ファイルが存在しないことが示され、ファイルを作成して、コンピューターにインストールされているエディターのいずれかで編集することが提案されます。
crontab を編集する際に留意すべき点は次のとおりです。
- 各タスクは1行にまとめられる
- いずれの場合も、各タスクを実行する日付と時刻を示す必要があります。周期性を示すには(たとえば火曜日の午後 18 時)、残りのパラメータの代わりにアスタリスクが記述されます。(*)
- パラメータに複数の値を割り当てることができます(例:火曜日と木曜日の午後 18 時)。両方の値をコンマで区切ります。
- パラメータ間にはスペースを入れる必要があります。
- コマンド ランチャーが配置されているディレクトリを指定します。
たとえば、毎日午後 19 時にコンピューターを再起動したい場合は、次のようにします。
0 19 * * * /sbin/reboot
水曜日のみ再開する場合の指示は次のようになります。
0 20 * * 3 /sbin/reboot
.
すべてのパラメータを記述せずに済むショートカットがいくつかあります。
@毎時: 毎時間の初めにコマンドを実行したい場合。
@毎日: 毎日の始まりにコマンドを実行します。
@weekly: 週の最初の日にコマンドを実行します。
@monthly: コマンドは毎月最初の分に実行されます。
@年齢: 毎年最初の1分は同じです。
このコマンドの使用例をいくつか示します。
@daily /bin/sh /ruta_al_script/nombre_del_script.sh
一日の初めに、bash スクリプトでカスタム命令を実行します。
@hourly /bin/python3 /ruta_al_script/nombre_del_script.py
1 時間ごとに Python スクリプトを実行します。
スクリプトに実行権限があることを常に確認する必要があります。