• 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
    • Image EXIF
  • - 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 Image EXIF Blood Type Heredity Clothing Sizes
  • 制作期間「足りていなかった可能性」
    2024-05-31

    幸田文の名言「台所に立てば、…」【本と名言365】
    2024-05-30

    芸術レベルのグッズも登場! パリ・東京・大阪の名コレクションが集まる「TRIO展」
    2024-06-01

    知られざる作品や作家との巡り合いが生まれる高円寺のギャラリーショップ。
    2024-06-02

    声優の増山江威子さん死去
    2024-06-03

    レイモンド・ローウィの名言「優れたインダストリアルデザインは、…」【本と名言365】
    2024-06-04

    特別展 「工芸的美しさの行方―うつわ・包み・装飾」が東京と京都で開催。日本の美術工芸を世界へ 
    2024-06-04

    「国芳の団扇絵 猫と歌舞伎とチャキチャキ娘」(太田記念美術館)開幕レポート。世界初の展覧会
    2024-06-04

    建築家・白井晟一設計の個人住宅「桂花の舎」が江之浦測候所に移築へ
    2024-06-04

    国際博物館の日、今年のテーマは「学びと研究のための博物館」
    2024-06-04

    特別展「梅津庸一 クリスタルパレス」が国立国際美術館で開催。00年代からの仕事を総覧
    2024-06-04

    「台北當代2024」開幕レポート。「台湾マーケットのニーズに応えるプラットフォームに」
    2024-06-04

    田名網敬一「TANAAMI!! AKATSUKA!! / 45 rpm」展、集英社マンガアートヘリテージ トーキョーギャラリーで開催
    2024-06-04

    性被害者支援の法人設立 スマイル社
    2024-06-04

    スマイル社が性犯罪被害者支援の法人設立
    2024-06-04

    島左近の墓、京都の寺で発掘調査 三成の腹心、関ケ原後も生存?
    2024-06-05

    宗教2世のドラマが受賞 第50回放送文化基金賞
    2024-06-06

    田名網敬一の巨大インスタレーションが、世界初大規模回顧展「田名網敬一 記憶の冒険」に登場。国立新美術館で8月7日から
    2024-06-06

    京都・祇園祭の「長刀鉾」稚児決まる 記者会見で「頑張ります」
    2024-06-06

    アキナの山名さん骨折 毎日放送、ロケ中に転倒
    2024-06-06

    ©  Dopu Box
    💛