• Online Tools
  • - Calculators
    • Character Count
  • - Download
    • TikTok Download
    • DouYin Download
  • - Web Tools
    • BASE64
    • Base64 to Image
    • Image to Base64
    • URL Encoding
    • JavaScript
    • Timestamp
    • Unicode Converter
    • JSON Format
    • Modify Extension
    • Make List
    • CSS Optimizer
  • - Encryption Tools
    • MD5 Encryption
    • Random Generator
  • - Image Tools
    • Image Compression
    • QR Code Generator
    • QR Code Reader
    • Wallpaper Preview
  • - Info Sheets
    • Blood Type Heredity
    • Clothing Sizes
  • [email protected]
DopuBox
  • English
  • Español
  • Français
  • 日本語
  • 한국어
  • 简体中文
  • 繁體中文
全部 ニュース Meta Code 文化・アート
Linuxタスクスケジューリングプロセスcrondコマンドの使用方法と注意事項
2022-01-06

一、crond概要 コンセプト

crondの概念とcrontabは分割できない。crontabは、UnixおよびクラスUnixのオペレーティングシステムで一般的に使用されるコマンドで、周期的に実行されるコマンドを設定します。このコマンドは、標準入力デバイスからコマンドを読み出し、後で読み取りおよび実行するために「crontab」ファイルに保存します。ギリシャ語chronos(χρ?νο?),本来は時間です。crondはその守護プロセスです

crondはlinuxの下で周期的にあるタスクを実行したり、あるイベントの処理を待ったりするためのデーモンです。windowsの下の計画タスクと似ています。オペレーティングシステムのインストールが完了すると、デフォルトでこのサービスツールがインストールされ、crondプロセスが自動的に起動します。crondプロセスは毎分、実行するタスクがあるかどうかを定期的にチェックします。実行するタスクがある場合は、すると、自動的にタスクが実行されます。

Linuxでのタスクスケジューリングは,システムタスクスケジューリングとユーザタスクスケジューリングの2つに分類される.

lシステムタスクスケジューリング:システムが周期的に実行する作業、例えばキャッシュデータをハードディスクに書き込み、ログクリーンアップなど。/etcディレクトリの下にcrontabファイルがあります。これがシステムタスクスケジューリングのプロファイルです。

/etc/crontabファイルには、次の行が含まれます。

  SHELL=/bin/bash

  PATH=/sbin:/bin:/usr/sbin:/usr/bin

  MAILTO=root

  HOME=/

  # run-parts

  01 * * * * root run-parts /etc/cron.hourly02 4 * * * root run-parts /etc/cron.daily22 4 * * 0 root run-parts /etc/cron.weekly42 4 1 * * root run-parts /etc/cron.monthlyの最初の4行はcrondタスクの実行を構成するための環境変数で、最初の行SHELL変数はシステムがどのshellを使用するかを指定し、ここはbashで、2行目のPATH変数はシステムの実行コマンドの経路を指定し、3行目のMAILTO変数はcrondのタスクの実行情報を指定してrootユーザーに電子メールで送信し、MAILTO変数の値が空であれば、タスク実行情報がユーザーに送信されないことを示し、4行目のHOME変数はコマンドまたはスクリプトの実行時に使用するホームディレクトリを指定します。6行目から9行目の意味は、次のセクションで詳しく説明します。ここではあまり言わない。

lユーザタスクスケジューリング:ユーザデータバックアップ、タイミングメールアラートなど、ユーザが定期的に実行する作業。ユーザーはcrontabツールを使用して、自分の計画タスクをカスタマイズできます。すべてのユーザー定義crontabファイルは/var/spool/cronディレクトリに保存されます。ファイル名はユーザー名と一致します。

二、crontabツールの使用 (1)crontabの使用様式

crontabでよく使用されるフォーマットは、次の2つです。

  crontab [-u user] [file]

  crontab [-u user] [-e|-l|-r |-i]

オプションの意味は次のとおりです。

l-u user:あるユーザを設定するためのcrontabサービス、例えば「-u ixdba」はixdbaユーザを設定するcrontabサービスを表し、このパラメータは一般的にrootユーザが実行する。

l file:fileはコマンドファイルの名前で、fileをcrontabのタスクリストファイルとしてcrontabにロードすることを示します。コマンドラインにこのファイルが指定されていない場合、crontabコマンドは標準入力(キーボード)に入力されたコマンドを受け入れ、crontabにロードします。

l-e:ユーザーのcrontabファイルの内容を編集します。ユーザーを指定しない場合は、現在のユーザーのcrontabファイルを編集します。

l-l:あるユーザーのcrontabファイルの内容を表示し、ユーザーを指定しない場合は、現在のユーザーのcrontabファイルの内容を表示します。

l-r:/var/spool/cronディレクトリからユーザーのcrontabファイルを削除し、ユーザーを指定しない場合は、現在のユーザーのcrontabファイルをデフォルトで削除します。

l-i:ユーザーのcrontabファイルを削除するときに確認メッセージを表示します。

(2)crontabファイルの意味

ユーザーが作成したcrontabファイルでは、各行はタスクを表し、各行の各フィールドは設定を表し、そのフォーマットは6つのフィールドに分けられ、最初の5つは時間設定セグメントで、6番目のセグメントは実行するコマンドセグメントで、フォーマットは以下の通りです。

minute hour day month week commandそのうち:

l minute:分を表し、0から59までの任意の整数であってもよい。

l hour:時間を表し、0から23までの任意の整数であってもよい。

l day:日付を表し、1から31までの任意の整数であってもよい。

l month:月を表します。1から12までの任意の整数です。

l week:曜日を表し、0から7までの任意の整数であってもよく、ここの0または7は日曜日を表します。

l command:実行するコマンドは、システムコマンドでも、自分で作成したスクリプトファイルでも構いません。

上記のフィールドでは、次の特殊文字も使用できます。

lアスタリスク(*):monthフィールドがアスタリスクの場合、他のフィールドの制約条件を満たした後、毎月コマンド操作を実行するなど、可能なすべての値を表します。

lカンマ(,):カンマで区切られた値でリスト範囲を指定できます。たとえば、「1,2,5,7,8,9」

l中棒(-):整数間の中棒で整数範囲を表すことができ、例えば「2-6」で「2,3,4,5,6」を表す。

l正斜線(/):正斜線で時間の間隔周波数を指定できます。例えば、「0-23/2」は2時間ごとに実行されることを示します。また、正斜線はアスタリスクとともに使用できます。たとえば*/10はminuteフィールドで使用すると、10分ごとに実行されることを示します。

(3)crontabファイルの例

0*/3**/usr/local/apache 2/apachectl restartは、3時間おきにapacheサービスを再起動することを示します。

  30 3 * * 6 /webdata/bin/backup.sh

毎週6時30分に/webdata/bin/backupを実行することを表す.shスクリプトの操作。

  0 0 1,20 * *  fsck /dev/sdb8

毎月の1番と20番のチェック/dev/sdb 8ディスクデバイスを示します。

  10 5 */5 * *  echo "">/usr/local/apache2/log/access_logは、毎月の5日、10日、15日、20日、25日、30日の5時10分にapacheログのクリーンアップを実行することを示します。

三、crontabツールの使用上の注意事項 (1)環境変数の問題に注意

crontabを作成した場合がありますが、このタスクは自動的に実行できません。このタスクを手動で実行しても問題ありません。これは、一般的にcrontabファイルに環境変数が構成されていないためです。

crontabファイルで複数のスケジューリングタスクを定義する場合、特に注意しなければならない問題は環境変数の設定です。私たちが手動でタスクを実行するときは、現在のshell環境で行われているので、プログラムはもちろん環境変数を見つけることができますが、システムが自動的にタスクを実行するときは、環境変数はロードされません。そのため、crontabファイルでタスクの実行に必要なすべての環境変数を指定する必要があります。これにより、システムがタスクスケジューリングを実行する際に問題はありません。

(2)システムユーザのメールログの整理に注意

各タスクのスケジューリングが完了すると、システムはタスク出力情報を現在のシステムユーザーに電子メールで送信します。これにより、日々蓄積され、ログ情報が非常に大きくなり、システムの正常な動作に影響を与える可能性があります。そのため、各タスクをリダイレクトすることが重要です。

たとえば、crontabファイルでログ出力を無視する形式を設定できます。

0*/3**/usr/local/apache 2/apachectl restart>/dev/null 2>&1"/dev/null 2>&1"は、標準出力を/dev/nullにリダイレクトし、標準出力が/dev/nullにリダイレクトされているため、標準エラーも/dev/nullにリダイレクトされ、ログ出力の問題が解決します。

(3)システムレベルタスクスケジューリングとユーザーレベルタスクスケジューリング

システムレベルのタスクスケジューリングは主にシステムのいくつかのメンテナンス操作を完成し、ユーザーレベルのタスクスケジューリングは主にユーザーがカスタマイズしたいくつかのタスクを完成し、ユーザーレベルのタスクスケジューリングをシステムレベルのタスクスケジューリングに配置して完成することができる(推奨しない)が、逆にだめで、rootユーザーのタスクスケジューリング操作は「crontab–uroot–e」で設定することができる。スケジューリングタスクを/etc/crontabファイルに直接書き込むこともできますが、rootユーザーの下でタイミング再起動システムを作成するタスクでも無効な/etc/crontabファイルにタスクを置く必要があります。

以上はLinuxタスクスケジューリングプロセスcrondの使用過程と注意事項です。読んでくれてありがとう。皆さんの役に立つことを望んでいます。引き続き注目してください。私たちはもっと優秀な文章を共有するように努力します。


ソース元URL:https://dopubox.com/article/p/be3002026631003e

Other Tools
  • Character Count TikTok Download DouYin Download BASE64 Base64 to Image Image to Base64 URL Encoding JavaScript Timestamp Unicode Converter JSON Format Modify Extension Make List CSS Optimizer MD5 Encryption Random Generator Image Compression QR Code Generator QR Code Reader Wallpaper Preview Blood Type Heredity Clothing Sizes
  • 藤子・F・不二雄の名言「ありそうもない話をありそうに描きたい」【本と名言365】
    2024-05-29

    藤井聡太八冠、瀬戸際の戦い 将棋叡王戦、31日に第4局
    2024-05-29

    MURAKAMI × Liquem 夢のコラボアクセが再登場☆|長山智美 デザイン狩人
    2024-05-30

    住所要件の指摘受け自主的に転入 東京・足立区の20代選管委員・古野香織さん
    2024-05-30

    藤井聡太八冠が勝ち、最終局へ 将棋叡王戦で2勝2敗
    2024-05-31

    韓国HYBE傘下の代表続投 和解望む意向
    2024-05-31

    あらゆる知識に精通した「天才」が教えてくれた、頭を良くするための新書の読み方と「究極のインプット・アウトプット」の方法
    2024-06-02

    フジコ・ヘミングさん偲ぶ魂のピアノ旋律
    2024-06-03

    千年後の未来へ 太宰府天満宮のふすま絵完成 日本画家神戸智行さん移住し10年かけ完成
    2024-06-04

    「企画展 歌と物語の絵 ―雅やかなやまと絵の世界」(泉屋博古館東京)開幕レポート。歌、物語、絵画が織りなす芸術世界へ
    2024-06-04

    第34回福岡アジア文化賞受賞者が決定。大賞は真鍋大度
    2024-06-04

    美術評論家連盟が「ガザ戦争に対する意⾒表明」を公開
    2024-06-04

    「君たちはどう生きるか」展 第二部 レイアウト編(三鷹の森ジブリ美術館)レポート。絵を描くことの営為、そして苦悩も見せる
    2024-06-04

    「犬派?猫派?」(山種美術館)開幕レポート。初公開から名作まで勢揃い
    2024-06-04

    「避難いただけるほうが一安心」珠洲で激しい揺れに耐えた仏像、奈良博で縁つなぐ
    2024-06-04

    「VOCA展」に関するハラスメント防止のためのガイドラインが制定
    2024-06-05

    そごう・西武が百貨店として初めてNFTマーケット開設、NFT作品約100点を発売
    2024-06-06

    藤井、棋聖戦5連覇へ白星発進
    2024-06-06

    今週末に見たい展覧会ベスト8。閉幕の横浜トリエンナーレから、「梅津庸一 クリスタルパレス」、石川九楊の2ヶ月連続個展まで
    2024-06-06

    パートナーとの強い絆から生まれた、ベンジャミン・ブリテンの代表作【クラシック今日は何の日?】
    2024-06-06

    ©  Dopu Box
    💛