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に設定します