• Herramientas Online
  • - Calculadoras
    • Contador de caracteres
  • - Descarga
    • Descarga de TikTok
    • Descarga de DouYin
  • - Herramientas web
    • BASE64
    • Base64 a imagen
    • Imagen a Base64
    • Codificación URL
    • JavaScript
    • Timestamp
    • Convertidor Unicode
    • Formato JSON
    • Modificar extensión
    • Crear lista
    • Optimizador CSS
  • - Herramientas de cifrado
    • Cifrado MD5
    • Generador aleatorio
  • - Herramientas de imagen
    • Compresión de imágenes
    • Generador de código QR
    • Lector de código QR
    • Vista previa de fondo
  • - Hojas de información
    • Herencia de grupo sanguíneo
    • Tallas de ropa
  • [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

Otras Herramientas
  • Contador de caracteres Descarga de TikTok Descarga de DouYin BASE64 Base64 a imagen Imagen a Base64 Codificación URL JavaScript Timestamp Convertidor Unicode Formato JSON Modificar extensión Crear lista Optimizador CSS Cifrado MD5 Generador aleatorio Compresión de imágenes Generador de código QR Lector de código QR Vista previa de fondo Herencia de grupo sanguíneo Tallas de ropa
  • レノンのギター4.5億円 ビートルズ関連最高落札額
    2024-05-30

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

    被害者「問題解決には程遠い」 旧ジャニーズ被害者らが会見
    2024-05-29

    『ボールアンドチェイン』南Q太著 評者:三木那由他【このマンガもすごい!】
    2024-05-30

    社長「関係者や視聴者不安にさせた」と謝罪
    2024-05-30

    杉真理×和田唱がビートルズをとことん語る!NHK-FMの人気番組「ディスカバー・ビートルズ」がオンライン講座として復活!
    2024-06-02

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

    映像化は「作家の意向第一」と小学館が指針
    2024-06-02

    香川県・直島に開館する新たな美術館の正式名称が「直島新美術館」に決定
    2024-06-03

    応挙手本?に描いたトラ甦れ…徳島の寺のふすま絵修復へ
    2024-06-04

    アルテミス計画&天の川銀河! 大人も学んで楽しめる「大人レゴ」最新ラインナップは”宇宙”がテーマ!
    2024-06-03

    イタリア・ヴェローナの歴史あるレストランをパトリシア・ウルキオラが再解釈。
    2024-06-03

    知ってる? 「登録博物館等マーク」
    2024-06-05

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

    「梅津庸一 エキシビションメーカー」(ワタリウム美術館)開幕レポート。きっとあなたも展覧会をつくりたくなる
    2024-06-04

    多摩美術大学がAIやサーキュラーなど5つの最先端のテーマを研究するプラットフォームをスタート
    2024-06-04

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

    ユージーン・スタジオが東南アジアに美術館を建設予定。新法人YES__pte.ltdを設立し、インドネシア・ジャカルタに美術館準備室を開設
    2024-06-04

    「江戸期より後の遺構」 世界遺産目指す佐渡の金山、一部除外勧告
    2024-06-06

    美術家藤井光さん個展「終戦の日/WAR IS OVER」 希望か絶望か…大分・佐伯の地下弾薬庫跡にこだまする泣き声
    2024-06-07

    ©  Dopu Box
    💛