Centos7#基本サービス計画タスクサービス

1.1回限りのスケジュールされたタスク

機能:スケジュールされたタスクは主にいくつかの定期的なタスクを実行することです。現在、主な目的は定期的にデータをバックアップすることです。スケジュールされたタスクの実行のすべての出力は、リダイレクトされない限り、指定されたユーザーに電子メールで送信されます。
  スケジュールされたタスクとは:
  スケジュールされたタスク、文字通りの意味は、合意された時間に計画された作業を実行することです。Linuxでは、この作業を完了するためにcronサービスを使用することがよくあります。たとえば、cronを使用して、スケジュールされたタスクである毎晩12時にログファイルをバックアップできます。


  [root @ at-
  cron〜] #rpm -qa | grep at.x86_64 0:3.1.13-24.el7
  [root @ at- cron〜] #yum -y install at
  [root @atでの 1回限りのスケジューリング実行-cron〜] #systemctl start atd
  [root @ at-cron〜] #systemctl enable atd
  software:at + time node
  真夜中:真夜中(00:00)
  正午:正午(12:00)
  ティータイム:アフタヌーンティー午後4時(14: 00)

23:59 2018年12月31日タスクは2018年12月31日の23:59にあります
  [root @ at-cron〜]#23:59 2020年12月31日


  11:00にスケジュールされたタスク作成します
  rm-rf / tmp / *
  ctrl + d ---->通常終了

計画されたタスクの数を表示します。[root @ at-
  cron〜] #at -l 1 Tue Oct 27 11:00:00 2020 a root
  2 Thu Dec 31 23:59:00 2020 a root
  3 Tue Oct 27 00:00 :002020ルート

詳細なスケジュール済みタスクの表示:
  [root @ at-
  cron〜] #ls / var / pool / at(ストレージスケジュール済みタスクディレクトリ)a000010197dbf4 a0000201994c9fa000030197d960スプール
  [root @ at- cron〜] #cat / var / pool / at / a000010197dbf4
  特定のスケジュールされたタスクの内容を表示できます

スケジュールされたタスクを削除します:
  [root @ at-   cron〜] #at -d1
  →作業番号
[root @ at-cron〜] #at -r2 →作業番号[root @ at-cron〜]#atrm3→workいいえ
  。/var/spool/at/ディレクトリの下にある対応する1回限りのスケジュールされたタスクファイルを削除します。
  ログファイルをチェックして、実行されているかどうかを確認できます
  [root @ at-cron〜] #tailf / var / log / messages
  [root @ at- cron〜] #echo 3> / proc / sys / vm / drop_cachesキャッシュをクリア

===============================================

2.周期的なスケジュールされたタスクcron

[root @ at-
  cron〜] #rpm -qa | grep cron crontabs-1.11-6.20121102git.el7.noarch
  このサービスは、システムレベルのタスクプランで必要なため、デフォルトでシステムによって自己起動されます。起動されていない場合は、crondサービスを起動する必要があります
  [ root @ at-cron〜] #systemctl start crond
  [root @ at-cron〜] #systemctl enable crond
  [root @ at-cron〜] #systemctl is-active crond
  active

===ユーザーレベルの定期的なタスク=
時間+アクション

* * * * *コマンド
  .----------------分(0-59)最初の分数
  | .------------- (--230)-hoursecond
は時間数を表します
  || .------------月の日(1 --31 )日数
の3番目の代表   | | | .---- ------月(1-12)4番目の代表月
  | | | | .--------曜日(0-6)(日曜日= 0または7)5番目の*代表曜日
  || | | |
  * * * **コマンド

*すべてを意味します...
  、異なる時点を
  取ります-範囲を意味します
   * / 5分ごとに(数分ごとにのみ意味があります)

* * * * * rm -rvf / mnt / *→ / 1 * * * * rm -rvf / mnt /

定期的なスケジュールされたタスクを作成します(定期的なスケジュールされたタスクのユーザーを指定できます。指定しない場合は、現在のユーザーがデフォルトになります)
  [root @ at-
  cron〜] #crontab -e [root @ at-cron〜] #crontab -e -u sunlizhen(管理者-u usernameを使用して、他のユーザーのスケジュールされたタスクを管理できます)

サイクリックスケジュールタスクの表示
  [root @ at-
  cron〜] #crontab -l(ユーザーレベルのサイクリックスケジュールタスクcrontab -lは、プランの内容を直接表示できます)* * * * * rm -rvf / mnt / *
  [root @ at- cron〜] #crontab -l -u sunlizhen(管理者は指定されたユーザーの周期的なスケジュールされたタスクを表示します)
  / 1 * * * * rm -rvf / mnt /

もちろん、サイクリックスケジュールタスクのストレージファイルを表示することもできます
  [root @ at-   cron〜   ] #ls / var / pool / cron /
  このディレクトリは、ユーザーレベルのサイクリックスケジュールタスクを格納するファイル名としてユーザーを使用します
root sunlizhen
[root @ localhost〜]# cat / var / pool / cron / root

定期的なスケジュールされたタスクの削除
  [root @ localhost〜] #crontab -r(現在のユーザーの定期的なスケジュールされたタスクをすべて削除します)
  [root @ localhost〜] #crontab -r -u sunlizhen(管理者は指定されたユーザーの定期的なスケジュールされたタスクをすべて削除します)

すべてを削除したくない場合は、直接編集できます
  [root @ localhost〜]
  #crontab -e [root @ localhost〜] #crontab -e -usunlizhen
 
  スケジュールされたタスクの権限制御
  [root @ xingdian〜] #cat / etc / cron。 deny
  このファイルが存在する場合、このファイルに書き込まれるすべてのアカウントはcrontabコマンドを実行できません
  [root @ xingdian〜] #cat /etc/cron.allow(このファイルはデフォルトでは存在しません)
  このファイルが存在する場合、書き込まれませんこのファイルのアカウントはcrontabコマンドの実行を許可されていません許可ファイルがある
  場合、拒否が存在するかどうかに関係なく、許可ファイル内のユーザーのみが許可されます

3.ウォッチドッグビューデータコピーバックアップサイクルプランタスクの例

①、vimは圧縮およびコピーされたスクリプトを編集します

  [root@at-cron ~]# vim /opt/kaobei.sh
  #! /bin/bash
  tar -czf kakaops`date +%y%m%d%H%M%S`.tar.gz /home/*
  mv kakaops`date +%y%m%d%H%M%S`.tar.gz /mnt/

②、スケジュールされたタスクを指定し、毎分コピースクリプトを実行します

  [root@at-cron ~]# crontab -e
  */1 * * * * bash /mnt/kaobei.sh

③、ウォッチドッグは指定されたディレクトリのコンテンツの変更をチェックします

  [root@at-cron ~]# watch -n 1 'ls -l /mnt'

-nウォッチドッグが更新する秒数を指定します-n1ウォッチドッグが毎秒更新されるかどうか
  ここに写真の説明を挿入
を確認します。パトロールサイクルのスケジュールされたタスクが毎分コピースクリプトを実行することがわかります。

ここに写真の説明を挿入

[root @ localhost〜] #scp -r / etc 172.16.20.21:/ tmp(リモートコピー)
  [root @ localhost〜] #du -h / homeディレクトリ占有
  日付のサイズdatedisplayコマンド
  dateは、現在の日付と時刻を表示します1
  日付+%y%m%d%H%M%S
  表示モード(年、月、日は小文字(年が大文字の場合は2020を表示)、時、分、秒は大文字、間に任意の区切り文字を追加できます)
  日付+ %D表示モード3
  日付+%F表示モード4
  日付-s9:43現在の時刻を9:43に設定します

おすすめ

転載: blog.csdn.net/kakaops_qing/article/details/109293048