• Outils en Ligne
  • - Calculatrices
    • Compteur de Caractères
  • - Téléchargement
    • Téléchargement TikTok
    • Téléchargement Douyin
  • - Outils Web
    • BASE64
    • Base64 vers image
    • Image vers Base64
    • Encodage URL
    • JavaScript
    • Timestamp
    • Convertisseur Unicode
    • Formatage JSON
    • Modifier l’Extension
    • Créer une Liste
    • Optimiseur CSS
  • - Outils de Chiffrement
    • Chiffrement MD5
    • Générateur Aléatoire
  • - Outils d’Image
    • Compression d’Images
    • Générateur de QR Code
    • Lecteur de QR Code
    • Prévisualisation de Fond
    • EXIF d’image
  • - Fiches d'information
    • Hérédité du Groupe Sanguin
    • Tailles Vêtements
  • [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

Autres Outils
  • Compteur de Caractères Téléchargement TikTok Téléchargement Douyin BASE64 Base64 vers image Image vers Base64 Encodage URL JavaScript Timestamp Convertisseur Unicode Formatage JSON Modifier l’Extension Créer une Liste Optimiseur CSS Chiffrement MD5 Générateur Aléatoire Compression d’Images Générateur de QR Code Lecteur de QR Code Prévisualisation de Fond EXIF d’image Hérédité du Groupe Sanguin Tailles Vêtements
  • 英国を代表する作曲家ブリテンが世界平和を願って作った『戦争レクイエム』【クラシック今日は何の日?】
    2024-05-29

    「現実をみんなに伝えたい」能登高校書道部が新作の書道パフォーマンスを披露…部員それぞれが抱える大地震の被害
    2024-05-30

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

    『マッドマックス:フュリオサ』に登場する「ある絵画」は何を意味しているのか? ギリシア神話と「ファム・ファタル」から考察する
    2024-06-01

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

    まだ無名だった作曲家エルガーが、婚約の贈り物として捧げた名曲【クラシック今日は何の日?】
    2024-06-01

    富士山麓のダイナミックな食材を味わう“奥・山梨”のガストロノミー〈Restaurant SAI 燊〉。
    2024-06-01

    大阪はアートとデザインの街となるか? Osaka Art & Design 2024の見どころをレポート
    2024-06-03

    映画「ゴジラ‐1.0」の震電は「コックピットだけ復元」のはずだった…山崎貴監督がエピソード披露
    2024-06-04

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

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

    アートフェア東京、次回は2025年3月に開催決定
    2024-06-04

    「ゲバルト」展が東京日仏学院などで開催。反暴力的反応とその美的様式を探る
    2024-06-05

    「KOGEI Art Fair Kanazawa 2024」開催決定
    2024-06-04

    謎多き家形埴輪 「考古学の空白」に挑む橿考研ベテラン研究員、念願の特別展開催中
    2024-06-04

    「ART OSAKA 2024」が7月18日より開幕。近代建築と現代美術のコラボレーションにも注目
    2024-06-04

    【1971年の今日 : 6月5日】京王プラザホテル全面開業―今からは想像もできない着工前の巨大な貯水池だった頃の写真も
    2024-06-05

    大学入学共通テスト、追試は本試験1週間後 コロナ禍前に戻す 月経痛の配慮明記も
    2024-06-05

    「安全だと誰も言わない万博」爆発事故で教職員組合 大阪府に子供無料招待中止申し入れ
    2024-06-04

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

    ©  Dopu Box
    💛