検索
ホームページ運用・保守Linuxの運用と保守Crontab に毎秒タスクを実行させる方法

Crontab に毎秒タスクを実行させる方法

Crontab に毎秒タスクを実行させる方法

Crontab は、Linux でのスケジュール設定ファイルで、システム プログラム、スクリプト、コマンド、タスクを設定した時間に実行できます。 . 、インターバルおよびサイクル動作。 Crontab の最小時間粒度は分です。つまり、Crontab の設定では、対象タスクを最大 1 分に 1 回実行できますが、それ以上の頻度で実行することはできず、他の方法を使用するしかありません。

関連する学習の推奨事項: linux ビデオ チュートリアル

たとえば、プログラムを 30 秒ごとに実行したい場合はどうすればよいでしょうか。

これを回避する方法はまだあります。 1 つのアイデアは、Crontab に 2 つの構成を追加することです。1 つは通常のスケジュール用で 1 分ごとに実行され、もう 1 つは実行前に 30 秒待機するというものです。

# Need these to run on 30-sec boundaries, keep commands in sync.
* * * * *              /path/to/executable param1 param2
* * * * * ( sleep 30 ; /path/to/executable param1 param2 )

この方法は少し堅くて奇妙に感じますが、うまくいきます。この方法は、実際には 1 行に短縮できます:

* * * * * /bin/bash -l -c "/path/to/executable; sleep 30 ; /path/to/executable"

もう 1 つの方法は、watch コマンドを使用することです:

$ watch --interval .30 script_to_run_every_30_sec.sh

ただし、watch はコマンド ライン ツールなので、次のように使用できます。 nohup コマンドを使用すると、バックグラウンドで実行できます。

SystemD タイマー

使用している Linux システムに SystemD がある場合は、SystemD タイマーを使用して、いつでもプログラムをスケジュールできます。もちろん、理論的にはナノ秒レベルの粒度でプログラムをスケジュールできます。 、それをするのはちょっとおかしいです。つまり、タスク スケジューリングの柔軟性は Cron よりもはるかに高く、sleep のようなつまらないソリューションを使用する必要はありません。

1 行で構成を完了する crontab と比較すると、SystemD タイマーの確立は若干複雑ですが、「1 分あたり」よりも小さい粒度でタスクのスケジュールをより適切に実装するには、この方法を試してみる価値があります。

SystemD タイマーの実装原理は、システム サービスと SystemD タイマーの 2 つの部分だけです。 SystemD タイマーがスケジューリングを実行し、タスクはサービス内に書き込まれます。

これは簡単な例です。目標は、システム ロガーに 10 秒ごとに「Hello World」を出力させることです;

/etc/systemd/system/helloworld.service

[Unit]
Description=Say Hello
[Service]
ExecStart=/usr/bin/logger -i Hello World

/etc/systemd/system/helloworld.timer

[Unit]
Description=Say Hello every 10 seconds
[Timer]
OnBootSec=10
OnUnitActiveSec=10
AccuracySec=1ms
[Install]
WantedBy=timers.targethelloworld.timer里并没有声明service的名称,那它和service是如何关联的呢?没错,因为它们的名称相同,都是helloworld。

システム全体でこのタイマーを使用する場合は、これら 2 つのファイルを次の場所に配置する必要があります。 /etc/systemd/system。特定のユーザーに使用したい場合は、~/.config/systemd/user に配置します。このタイマーをすぐに実行したい場合は、次のコマンドを実行する必要があります。

systemctl enable --now helloworld.timer

–now タグにより、タイマーがすぐに実行されます。それ以外の場合、操作はシステムが再起動されるか、ユーザーがログインした後にのみトリガーされます。

[タイマー]このセクションの各フィールドの機能は次のとおりです:

  • OnBootSec – システムの起動から何秒後かスケジューリングの開始
  • OnUnitActiveSec – 関連サービスを繰り返しスケジュールする時間間隔。 cron ジョブなどのスケジュールされたアクションを決定するのは、この構成行です。
  • AccuracySec – タイマーの精度。デフォルトは 1 分で、cron と非常によく似ています。より高い値が必要になる場合もありますが、精度が向上するとシステム消費量が増加し、CPU がより頻繁にウェイクアップされます。上記の設定では 1ms となっていますが、これは明らかに賢明な決定ではありません。通常、これを 1 (1 秒) に設定できます。これは、1 分未満の時間粒度のタイマー精度要件には十分です。このため、実際のプログラムを実行すると、「Hello World」メッセージの出力が 1 秒程度遅れることがよくあります。この 1 秒程度の遅延が問題ないと思われる場合は、このように設定するとよいでしょう。

SystemD タイマーと Crontab タイマーは同じではないことがわかります。タスクのスケジュール期間は、年、月、日、時、分の期間に従って設定されず、最初の期間に基づいています。 time 実行時に開始され、毎回 1 サイクルの時間が追加されます。 Crontab のような時間設定方法が気に入っている場合は、SystemD タイマーもそれをサポートしているため、次のように OnBootSecOnUnitActiveSec を削除し、OnCalendar に置き換える必要があります。は例です:

OnCalendar=*-*-* *:*:00,10,20,30,40,50

最後に、デフォルトでは、SystemD タイマーとサービスは同じ名前に関連付けられます。必要に応じて、次のように指定して、[Timer] ペアで構成することもできます。 単位フィールド。

上記のメソッドはすべて、分未満の粒度でスケジュールされたスケジューリング タスクを実装できます。それぞれに利点があります。 SystemD タイマーはより形式的に見えますが、少し複雑です。 Crontab sleepこの方法は扱いにくいですが、いくつかの小さなタスクには使えないわけではありません。

以上がCrontab に毎秒タスクを実行させる方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
Linuxの構成要素:主要なコンポーネントが説明しましたLinuxの構成要素:主要なコンポーネントが説明しましたApr 30, 2025 am 12:26 AM

Linuxシステムのコアコンポーネントには、カーネル、ファイルシステム、ユーザースペースが含まれます。 1.カーネルはハードウェアリソースを管理し、基本的なサービスを提供します。 2。ファイルシステムは、データストレージと組織を担当します。 3.ユーザースペースでユーザープログラムとサービスを実行します。

メンテナンスモードの使用:Linuxのトラブルシューティングと修復メンテナンスモードの使用:Linuxのトラブルシューティングと修復Apr 29, 2025 am 12:28 AM

メンテナンスモードは、シングルユーザーモードまたはレスキューモードを介してLinuxシステムに入力される特別な動作レベルであり、システムのメンテナンスと修理に使用されます。 1.メンテナンスモードを入力し、コマンド「sudosystemctlisolaterscue.target」を使用します。 2。メンテナンスモードでは、ファイルシステムを確認して修復し、コマンド「FSCK/DEV/SDA1」を使用できます。 3.高度な使用法には、ルートユーザーパスワードのリセット、ファイルシステムの読み取りモードと書き込みモードのマウント、パスワードファイルの編集が含まれます。

Linuxメンテナンスモード:目的の理解Linuxメンテナンスモード:目的の理解Apr 28, 2025 am 12:01 AM

メンテナンスモードは、システムのメンテナンスと修理に使用され、管理者が簡素化された環境で作業できるようにします。 1。システム修理:破損したファイルシステムとブートローダーを修理します。 2。パスワードリセット:ルートユーザーパスワードをリセットします。 3。パッケージ管理:ソフトウェアパッケージをインストール、更新、または削除します。 GRUB構成を変更するか、特定のキーを使用してメンテナンスモードを入力することにより、メンテナンスタスクを実行した後、安全に終了できます。

Linux操作:ネットワーキングとネットワーク構成Linux操作:ネットワーキングとネットワーク構成Apr 27, 2025 am 12:09 AM

Linuxネットワークの構成は、次の手順で完了できます。1。ネットワークインターフェイスを構成し、IPコマンドを使用して、構成ファイルの永続性設定を一時的に設定または編集します。 2。固定IPを必要とするデバイスに適した静的IPを設定します。 3.ファイアウォールを管理し、iPtablesまたはFirewalldツールを使用してネットワークトラフィックを制御します。

Linuxのメンテナンスモード:システム管理者ガイドLinuxのメンテナンスモード:システム管理者ガイドApr 26, 2025 am 12:20 AM

メンテナンスモードは、Linuxシステム管理において重要な役割を果たし、修復、アップグレード、構成の変更を支援します。 1.メンテナンスモードを入力します。 Grubメニューから選択するか、コマンド「sudosystemctlisolaterscue.target」を使用できます。 2。メンテナンスモードでは、ファイルシステムの修理およびシステムの更新操作を実行できます。 3.高度な使用法には、ルートパスワードのリセットなどのタスクが含まれます。 4.メンテナンスモードに入ったり、ファイルシステムをマウントできないなどの一般的なエラーは、GRUB構成をチェックしてFSCKコマンドを使用して固定できます。

Linuxのメンテナンスモード:それを使用する時期と理由Linuxのメンテナンスモード:それを使用する時期と理由Apr 25, 2025 am 12:15 AM

Linuxメンテナンスモードを使用するタイミングと理由:1)システムが起動するとき、2)主要なシステムの更新またはアップグレードを実行するとき、3)ファイルシステムメンテナンスを実行するとき。メンテナンスモードは、安全で制御された環境を提供し、運用上の安全性と効率を確保し、ユーザーへの影響を減らし、システムセキュリティを強化します。

Linux:必須コマンドと操作Linux:必須コマンドと操作Apr 24, 2025 am 12:20 AM

Linuxの不可欠なコマンドは次のとおりです。1.LS:リストディレクトリの内容; 2.CD:作業ディレクトリを変更します。 3.mkdir:新しいディレクトリを作成します。 4.RM:ファイルまたはディレクトリを削除します。 5.CP:ファイルまたはディレクトリをコピーします。 6.MV:ファイルまたはディレクトリの移動または名前を変更します。これらのコマンドは、カーネルと対話することにより、ユーザーがファイルとシステムを効率的に管理するのに役立ちます。

Linux操作:ファイル、ディレクトリ、およびアクセス許可の管理Linux操作:ファイル、ディレクトリ、およびアクセス許可の管理Apr 23, 2025 am 12:19 AM

Linuxでは、ファイルおよびディレクトリ管理ではLS、CD、MKDIR、RM、CP、MVコマンドを使用し、許可管理はCHMOD、CHOWN、およびCHGRPコマンドを使用します。 1。LS-Lなどのファイルおよびディレクトリ管理コマンドは、詳細情報、MKDIR-Pを再帰的に作成するディレクトリを再帰的に作成します。 2。CHMOD755FILEセットファイル許可、CHOWNUSERFILEファイル所有者、CHGRPGROUPFILEの変更ファイルグループなどの許可管理コマンド。これらのコマンドは、ファイルシステム構造とユーザーおよびグループシステムに基づいており、システムコールとメタデータを介して動作および制御します。

See all articles

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

Video Face Swap

Video Face Swap

完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

ホットツール

AtomエディタMac版ダウンロード

AtomエディタMac版ダウンロード

最も人気のあるオープンソースエディター

EditPlus 中国語クラック版

EditPlus 中国語クラック版

サイズが小さく、構文の強調表示、コード プロンプト機能はサポートされていません

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

Safe Exam Browser

Safe Exam Browser

Safe Exam Browser は、オンライン試験を安全に受験するための安全なブラウザ環境です。このソフトウェアは、あらゆるコンピュータを安全なワークステーションに変えます。あらゆるユーティリティへのアクセスを制御し、学生が無許可のリソースを使用するのを防ぎます。

SAP NetWeaver Server Adapter for Eclipse

SAP NetWeaver Server Adapter for Eclipse

Eclipse を SAP NetWeaver アプリケーション サーバーと統合します。