Linux システムでのスケジュールされたタスクの紹介

Linux システムでのスケジュールされたタスクの紹介

1. 計画タスクをカスタマイズする

1. ATDサービス(1回限り)

1. atdサービスに対応するコマンド -----》at

atコマンドを使用するには、まずインストールする必要があります

[root@localhost lianxi]# yum install at -y

次に、atd サービスを開始する必要があります。そうしないと、タスクは定期的に実行されません。

[root@localhost lianxi]# サービス atd 開始
/bin/systemctl start atd.service にリダイレクトします

次に例を示します。

[root@localhost lianxi]# 11:00 #1回限りのスケジュールされたタスクを作成at> bash /root/wang.sh
at> <EOT> # ctrl+d でジョブ 5 を終了します 2021 年 12 月 22 日水曜日 11:00:00
[root@localhost lianxi]# -l で
3 水曜日 12月 22 10:20:00 2021 a ルート
5 水曜日 12月 22 11:00:00 2021 a ルート
[root@localhost lianxi]#
 
[root@localhost lianxi]# atrm 3 #スケジュールされたタスク番号3のタスクを削除します [root@localhost lianxi]# at -l #スケジュールされたタスクリスト5を表示します Wed Dec 22 11:00:00 2021 a root
[root@localhost lianxi]#

2. 1回限りのスケジュールされたタスクを保存するディレクトリ: /var/spool/at

batch コマンドは at コマンドと同じですが、システム負荷が比較的低いときにスケジュールされたタスクを実行する点が異なります。

uptime コマンド:

[root@localhost lianxi]# uptime #システムが起動している時間とシステムの平均負荷を確認します 10:28:33 4日間起動、16:13、ユーザー2人、負荷平均: 0.00、0.01、0.05

2. crondサービス(定期)はデフォルトでインストールされ、起動時に自動的に開始されます。

1. crondサービスに対応するコマンド ------》crontabは、定期的にスケジュールされたタスクを作成および管理するためのコマンドです
-e はスケジュールされたタスクを作成することを意味します (編集)
-l スケジュールされたタスクリストを表示する

2. 定期的にスケジュールされたタスクを保存するディレクトリ: /var/spool/cron

cron サービスの設定ファイル: /etc/crontab

Cron サービスのログ ファイル: /var/log/cron (スケジュールされたタスクが実行されたかどうかを知ることができます (CMD))

形式は次のようになります。

例:「例 1 (root ユーザー)」
sshd サービスは毎日午前 7:50 に自動的に開始され、22:50 に終了します。FTP サーバーのパブリック ディレクトリ Ivar/ftp/pub は 5 日ごとに 12:00 にクリアされます。
毎週土曜日の 7:30 に httpd サービスを再起動します。毎週月曜日、水曜日、金曜日の 17:30 に /etc/httpd ディレクトリをバックアップします。

[root@localhost lianxi]# crontab -e
crontab: 新しいcrontabのインストール
[root@localhost lianxi]# crontab -l
30 3 * * * bash /root/sc.sh
50 7 * * * サービスsshd開始
50 22 * ​​* * サービスsshd停止
0 12 */5 * * rm -rf /var/ftp/pub/*
30 7 * * 6 サービスhttpdの再起動
30 17 * * 1,3,5 tar czf /backup/httpd.tar.gz /etc/httpd
30 4 * * * /bin/bash /lianxi/backup/backup_log.sh
[root@localhost lianxi]#

3. atdサービスとcrondサービスの後の「d」の意味

d------》デーモン: 手動で停止するまで、常にメモリ内で実行されるプロセスです。手動で停止しない限り、メモリ内で実行され続けます。メモリ内で実行され続けるため、ユーザーはいつでもアクセスでき、ユーザーを守り、ユーザーの到着を待ち続けます。

2. 時間を同期する

Centos7の場合: ntpdateコマンドを使用する

#最初のステップは[root@localhost lianxi]をインストールすることです# yum install ntpdate -y
 
#ステップ 2 [root@localhost lianxi]# date -s "2021-12-22 15:6:12" #変更時刻 2021 年 12 月 22 日水曜日 15:06:12 CST
 
#ステップ3 [root@localhost lianxi]# ntpdate time.windows.com
12月22日 11:59:38 ntpdate[13102]: ステップ時間 サーバー 20.189.79.72 オフセット -11225.674351 秒
[root@localhost lianxi]# 日付
2021年12月22日水曜日 11:59:42 CST

Centos8または7の場合: chronyを使用する

[root@localhost lianxi]# yum install chrony -y #インストール [root@localhost lianxi]# service chronyd restart #サービスを再起動 /bin/systemctl restart chronyd.service にリダイレクト
 
[root@localhost lianxi]# 日付 -s "2021-12-22 15:6:12"
2021年12月22日水曜日 15:06:12 CST
 
[root@localhost lianxi]# 日付
2021年12月22日水曜日 12:02:38 CST

3. 練習する

1. /var/log ディレクトリ内のすべてのファイルを /backup ディレクトリにバックアップするスクリプト /backup/backup_log.sh を作成します。ファイル名には、秒単位の正確な日付を含める必要があります。たとえば、ファイル名は 2016-6-6-2_30_20-log.tar.gz です。
同時に、/backup ディレクトリ内の 7 日前のバックアップ ファイルを削除し、過去 7 日間のバックアップ ファイルのみを保持する必要があります。

2. ルートユーザーとして実行します。スケジュールされたタスクの要件は、上記のスクリプト /backup/backup_log.sh を毎日4:30に実行することです。

[root@lamp-testバックアップ]# pwd
/バックアップ
[root@lamp-test バックアップ]# cat backup_log.sh 
#!/bin/bash
mkdir -p /バックアップ
tar -czf /backup/$(日付 +%F_%H_%M_%S)-log.tar.gz /var/log/*
/backup -mtime +7 -type f -name "*.tar.gz" -exec rm -rf {} \; を検索します。
[root@lamp-test バックアップ]# crontab -l
30 4 * * * bash /backup/backup_log.sh

4. セキュリティの問題

1. 不正にスケジュールされたタスクを見つけるにはどうすればよいでしょうか? どこで見ればいいですか? crond プロセスは実行するスクリプトをどこで探しますか?

1./var/spool/cron --》ユーザー定義のスケジュールされたタスクが保存される場所

2. オペレーティング システム自身のスケジュールされたタスク - (ライドシェアリング)

[root@localhost lianxi2]# ls /etc/cron.*
/etc/cron.deny
 
/etc/cron.d:
0時間ごと
 
/etc/cron.daily: 各マシンで実行する必要があるスクリプト logrotate man-db.cron
 
/etc/cron.hourly: 1時間ごとに実行する必要があるスクリプト 0anacron
 
/etc/cron.monthly: 毎月実行されるスクリプト /etc/cron.weekly: 毎週実行されるスクリプト [root@localhost lianxi2]# cat /etc/cron.deny crondサービスを無効にしているユーザーは、これに書き込むことができます

2. ヒッチハイク事件

ヒッチハイクの例:
[root@lamp-test cron.hourly]# pwd
/etc/cron.hourly
[root@lamp-test cron.hourly]# ls
0anacron 電源オフ.sh
[root@lamp-test cron.hourly]# chmod +x poweroff.sh 
[root@lamp-test cron.hourly]# cat poweroff.sh 
初期化0
 
 
 
[root@lamp-test ログ]# cd /etc/cron.hourly/
[root@lamp-test cron.hourly]# ls
0anacron 電源オフ.sh
[root@lamp-test cron.hourly]# rm -rf poweroff.sh

Linux システムでのスケジュールされたタスクに関するこの記事はこれで終わりです。Linux のスケジュールされたタスクに関する関連情報をさらに知りたい場合は、123WORDPRESS.COM の以前の記事を検索するか、以下の関連記事を引き続き参照してください。今後も 123WORDPRESS.COM をよろしくお願いいたします。

以下もご興味があるかもしれません:
  • Linux で 1 回限りのスケジュールされたタスクを実行するための at コマンドの使用に関する詳細な説明
  • Linux で at および cron スケジュールタスクをカスタマイズする方法
  • Linux で cron スケジュールタスクを使用する方法の詳細な説明
  • 簡単な説明: Linux cron スケジュールタスクでよく使用されるシンボルの概要

<<:  MySQL プロセス制御 IF()、IFNULL()、NULLIF()、ISNULL() 関数

>>:  Vue v-for ループを書く 7 つの方法

推薦する

Linux コマンドライン操作 Baidu クラウドのファイルのアップロードとダウンロード

目次0. 背景1. インストール2. Baidu Cloudアカウントにログインする3. ファイルを...

Vue の img の src 画像アドレスの動的スプライシングの問題について

Vue での img の動的スプライシングを見てみましょう。src 画像アドレス、具体的な内容は次の...

テキストスクロール後の自動停止効果の例

効果は非常にシンプルで、次のコードを自分のページにコピーして実行するだけです。コードをコピーコードは...

dockerコンテナにviコマンドをインストールする簡単な操作

docker コンテナを使用する場合、vim がインストールされていないことがあり、vim コマンド...

色の16進数カラーコード表表示と16進値の比較表示で簡単に検索できます

さまざまな色の16進コード表[パート1] 赤とピンク、およびそれらの 16 進コード。 #99003...

MySQLトランザクションとSpring分離レベルの実装原理の詳細な説明

1. トランザクションはACID特性を持つ原子性: トランザクションは、トランザクションによって分割...

ウェブページのCSSの優先順位について詳しく説明します

CSS の優先順位について話す前に、CSS とは何か、CSS が何に使用されるのかを理解する必要があ...

VMware で Nginx+KeepAlived クラスタ デュアルアクティブ アーキテクチャを展開する際の問題と解決策

序文負荷分散には nginx を使用します。アーキテクチャのフロントエンドまたは中間層として、トラフ...

MySQLデータベースインデックスの詳細な紹介

目次マインドマップシンプルな理解インデックスモデルの進化二分探索木自己バランス型二分木BツリーB+ ...

CSS3 変換遷移ジッター問題の解決

transform: scale(); スケーリングするとIEブラウザでジッターが発生します変換スケ...

CSS 背景と境界タグの例の詳細な説明

1. CSS背景タグ1.背景色を設定するbackground-ground-color プロパティは...

検索テキストボックスがフォーカスを外れたときにテキストの位置がジャンプする問題の解決方法

検索テキストボックスにテキストを設定すると、フォーカスを外すと位置がジャンプしますコードをコピーコー...

HTMLページ作成に関する私の経験の簡単な要約

Word of Mouth に入社して 3 ~ 4 か月が経ちました。仕事の中で一番の収穫は、ビジュ...

CSS で TikTok テキスト揺れエフェクトを実装する例

日々の開発において、フロントエンドの学生はアニメーションやデザインについてよく議論します。デザイナー...

JavaScript 関数型プログラミングの基礎

目次1. はじめに2. 関数型プログラミングとは何ですか? 3. 純粋関数(関数型プログラミングの基...