1つは、crontabコマンドの役割です。
crontabは、Linuxでタイミングタスクを実行するために使用されるコマンドです。Linuxオペレーティングシステムをインストールすると、デフォルトでこのコマンドの使用がサポートされます。
⚠️注:新しく作成されたcronタスクはすぐには実行されません。すぐに実行できるようになるまでに少なくとも2分かかります。cronを再起動してすぐに実行できます。
2、Linuxタイミングタスク分類
- システムレベル:システムデータのバックアップやキャッシュのクリアなど、システムが定期的に実行する必要のあるタスク
- ユーザーレベル:10分ごとにメールサーバーで新しい情報を確認するなど、ユーザーが定期的に実行する必要のあるジョブ
3つの具体的な紹介
3.1構文
crontab [ -u user ] file
// 或者
crontab [ -u user ] { -l | -r | -e }
パラメータの説明:
- crontab:ユーザーが一定の時間または一定の間隔でタイミングタスクを実行できるようにするために使用されます
- -u user:指定されたユーザーの時限タスクを設定することを指します。他のユーザーの時限タスクを指定できるようにするには、権限(たとえば、root)が必要であることが前提です。-u userを使用しない場合は、独自の時間指定タスクを設定することを意味します
- -e:テキストエディタを使用して時間指定タスクを設定します。デフォルトのテキストエディタはVIです。別のテキストエディタを使用する場合は、VISUAL環境変数を設定して、使用するテキストエディタを指定してください(例:setenv VISUAL joe)
- -r:現在スケジュールされているタスクを削除します
- -l:現在の時間指定タスクを一覧表示します
3.2時間形式は次のとおりです。
f1 f2 f3 f4 f5 program
- ここで、f1は分、f2は時間、f3は日、f4は月、f5は曜日です。programは、実行されるプログラムを表します。
- f1が*の場合、プログラムは1分ごとに実行する必要があることを意味し、f2が*の場合、プログラムは1時間ごとに実行する必要があることを意味します。
- f1がabの場合は、a分からb分まで実行されることを意味し、f2がabの場合は、a時間からb時間まで実行されることを意味します。等々
- f1が* / nの場合、n分ごとに実行されることを意味し、f2が* / nの場合、n時間ごとに実行されることを意味します。
- f1がa、b、c、...の場合、分a、b、c、...で実行されることを意味し、f2がa、b、c、...の場合、それはa、b、c ...時間などで実行されます。
注:
ユーザーは、最初に実行するすべてのタスクをファイルに保存し、crontabファイルを使用してタスクの実行時間を設定することもできます。
4つの具体例
例1:
(1)crontab -l
現在の既存のタイミングタスクを実行して表示する
crontab -l
結果は次のとおりです。
#Ansible: Ntpdate server for sync time
*/20 * * * * /usr/sbin/ntpdate -u 172.16.120.10
*/60 * * * * echo "" > /opt/app/tomcat/apachetomcatserver/webapps/agent.log
(2)crontab -e
時間指定タスクの編集を使用して新しいタスクを追加します
// 第一步:打开编辑器,准备编辑新内容
crontab -e
// 第二步:添加新内容并保存
*/60 * * * * echo "" > /opt/app/tomcat/apachetomcatserver/webapps/agent.log
(3)crondを再起動します
systemctl reload crond
systemctl restart crond