Linux スケジュールタスクの関連操作の概要

Linux スケジュールタスクの関連操作の概要

皆様の参考と操作を容易にするために、様々な主要ウェブサイトを検索し、関連するスケジュールされたタスクの動作をテストしました。

1. cronの紹介

よく使われる crontab コマンドは、cron table の略です。これは cron の設定ファイルであり、ジョブ リストとも呼ばれます。関連する設定ファイルは、次のフォルダーにあります。

1.1. Cron関連ディレクトリ

  • /var/spool/cron/ ディレクトリには、root を含む各ユーザーの crontab タスクが保存されます。各タスクには作成者の名前が付けられます。
  • /etc/crontab このファイルは、さまざまな管理および保守タスクのスケジュールを担当します。
  • /etc/cron.d/ このディレクトリは、実行される crontab ファイルまたはスクリプトを保存するために使用されます。
  • また、スクリプトを /etc/cron.hourly、/etc/cron.daily、/etc/cron.weekly、/etc/cron.monthly ディレクトリに配置して、1 時間ごと、1 日ごと、1 週間ごと、または 1 か月ごとに実行することもできます。

1.2. crontabの共通コマンド

  • crontab [-u username] //ユーザーテーブルを省略すると、現在のユーザーのcrontabを操作することになります
  • crontab [-u ユーザー名] -e //ワークシートを編集)
  • crontab [-u ユーザー名] -l //ワークシート内のコマンドを一覧表示します)
  • crontab [-u ユーザー名] -r //ジョブを削除)

1.3. 仕様書の作成

1. 各ポジションのパラメータは以下の通りで、詳細には注意事項もあります。

述べる:

1) *は任意の時間(分、時間、日、月、週)に実行されることを意味します

2) - 5時~7時などの時間範囲を示します

3) は時間間隔を表します。たとえば、6,0,4 は土曜日、日曜日、木曜日を表します。

4) /1はn時間単位ごとを意味します。例:*/10は10分ごと

2. スケジュールされたタスクを設定する

2.1. crontab でスケジュールされたタスクをグローバルに設定する --- タスクがリンク、curl、またはファイルへの書き込みである場合

(1)crontab -eコマンドを実行する

(2)スケジュールされたタスクを書く

スケジュールされたタスクがリンクの場合

*/1 * * * * /usr/local/curl (独自のcurlパス) www.baidu.com >/dev/null 2>$1

ファイルに内容を書き込む必要がある場合

*/1 * * * * エコー "hello" >> abc.log

いくつかのポイントを共有したいと思います

  • 標準入力0はキーボードからの入力を取得します /proc/self/fd/0
  • 標準出力1は画面(コンソール)に出力されます /proc/self/fd/1
  • エラー出力2は画面(コンソール)に出力されます。/proc/self/fd/2
  • /dev/null は Linux の空のデバイス ファイルを表します。このファイルに書き込まれたすべての内容は失われ、一般に「ブラック ホール」として知られています。
  • >/dev/nullは「ブラックホール」にエラーを出力することを意味します
  • >/dev/null 2>&1 デフォルトは 1 で、1>/dev/null 2>&1 と同じです。これは、標準出力を「ブラックホール」にリダイレクトし、エラー出力 2 を標準出力 1 にリダイレクトすることを意味します。つまり、標準出力とエラー出力の両方が「ブラックホール」に入ります。
  • 2>&1 >/dev/null は、エラー出力 2 を標準出力 1、つまり画面にリダイレクトし、標準出力が「ブラックホール」に入り、エラー出力が画面に表示されることを意味します。
  • ここでの「&」の役割については、次のように理解できます。2>/dev/null はファイルにリダイレクトし、次に 2>&1 です。ここで & が削除されると、エラー出力はファイル 1 に送信され、& を使用すると 1 が標準出力であることを示します。

(3)スケジュールされたタスクを保存する

  1. iを押してタスクを挿入し、スケジュールされたタスクを書き込む
  2. Esc キーを押して終了し、 :wq と入力してから、 Ctrl + C キーを押して正常に保存します。

2.2. .shメソッドの実装

(1)シェルスクリプトを作成する

  • プロジェクト内に.shという拡張子のファイルを作成します。
  • このディレクトリのこのシェルファイルに十分な権限を追加します
chmod -R 777 ファイル名を作成します

(2)スケジュールされたタスクにシェルスクリプトを書き込む

対応するシェルファイルをスケジュールされたタスクに書き込む

*/1 * * * * .shファイルの絶対パス>/dev/null 2>$1

スケジュールされたタスクを実行するときに、対応するシェルファイルをログに書き込みます。

*/1 * * * * .shファイルの絶対パス >> a.log >/dev/null 2>$1

(3)crondを再起動する

サービスcrondの再起動

(4)プロジェクトに書かれているか確認する

crontab -l

ご視聴ありがとうございました。ご質問がありましたら、コメント欄にメッセージを残してください。

要約する

Linux のスケジュールされたタスクの関連操作に関するこの記事はこれで終わりです。Linux のスケジュールされたタスクの関連操作の詳細については、123WORDPRESS.COM の以前の記事を検索するか、次の関連記事を引き続き参照してください。今後とも 123WORDPRESS.COM をよろしくお願いいたします。

以下もご興味があるかもしれません:
  • Linuxでcronを使用して定期的にタスクを実行する方法
  • Linux crontab スケジュールタスクの設定方法(詳細説明)
  • Linuxはcrontabを使用してPHP実行計画のタイミングタスクを実装します
  • Linux で crontab を使用してスケジュールされたタスクを 1 秒に 1 回実行する方法
  • サーバーは定期的にスケジュールされたタスクを実行し、定期的にページにアクセスします (Windows/Linux)
  • Linuxでスケジュールされたタスクを設定する方法
  • Linux での Python スクリプトの自動起動とスケジュールされたタスクの詳細な説明
  • Linux でタスクを定期的に実行する方法と crontab の使用方法の説明 (収集およびソート済み)
  • Linuxは毎週45日前のログをクリーンアップするためにスケジュールされたタスクを使用します
  • Linux で PHP を使用して cron タスクをスケジュールする方法の詳細な説明

<<:  MySQL 8.0.18 圧縮パッケージのインストールと忘れたパスワードのリセット時に遭遇する落とし穴

>>:  mysql bin-log ログファイルを sql ファイルに変換する方法

推薦する

MySQLでの少し複雑な使用例コード

序文MySQL の構文は誰にとっても難しいものではないと思いますが、この記事では主に MySQL の...

CSS3 を使用したテキスト折り紙効果のサンプルコード

序文この記事では主に、CSS3 を使用してテキスト折り紙効果を実現する例を紹介します。これは、参考と...

MySQL でストアド プロシージャを作成し、ループでレコードを追加する方法

この記事では、例を使用して、MySQL でストアド プロシージャを作成し、ループでレコードを追加する...

bashの初期化メカニズムの詳細な説明

Bash 初期化ファイル対話型ログインシェル次の場合にはログイン シェルを取得できます。ローカル端末...

MySqlはページクエリ機能を実装します

まず、ページ分割クエリを使用する理由を明確にする必要があります。データが膨大なため、すべてのデータを...

さまざまな種類のMySQLインデックス

インデックスとは何ですか?インデックスは、データベース ストレージ エンジンが指定されたデータをすば...

CSSは左固定と右適応のレイアウト方法を実現します

1. フローティングレイアウト1. 最初に固定幅の div をフロートさせます。ドキュメントフローか...

Alibaba Cloud サーバーの購入とインストール方法

1. サーバーを購入するこの例では、購入したサーバーはAlibaba Cloudです。大学生はAli...

純粋な CSS3 で水平無限スクロールを実装するためのサンプル コード

この記事の例はすべて小さなプログラムで書かれていますが、実装される機能には影響しません。 wxmlル...

MySQL バッチ追加および保存メソッドの例

ストレステストにログインする際には、多くの異なるユーザーが必要となり、データベースに新しいデータを追...

macOS での MySQL 8.0.16 のインストールと設定のグラフィック チュートリアル

この記事では、macOSでのMySQL 8.0.16のインストールと設定のチュートリアルを参考までに...

JavaScriptの浅いコピーと深いコピーについての簡単な説明

目次1. 直接譲渡2. 浅いコピー3. ディープコピー1. JSONオブジェクトメソッド2. 再帰コ...

自動的にフォーカスを取得する要素入力ボックスの実装

最近のプロジェクトでフォームを作成するときに、コメント ボックスまで自動的にスクロールし、コメント ...

VMware 仮想マシンに Centos7.3 をインストールするチュートリアル図

VMware の準備 CentOS の準備、こちらは CentOS 7.3 CentOS-7-x86...