延時任務at、定時任務cron、臨時文件管理

延時任務at

1.at命令
使用方法:

at   now+5min|時間
>命令
>Ctrl + d

示例:

at 14:20
at> date
at> <EOT>
job 2 at Sun Oct 29 14:20:00 2017

這裏寫圖片描述

at now+5min
at> date
at> <EOT>
job 3 at Sun Oct 29 14:27:00 2017

這裏寫圖片描述

at     -l     |   atq                ##查看未執行的延時任務
atrm   ip     |   at     -d          ##終止延時任務

這裏寫圖片描述

at    -M          ##延時任務有輸出不產生郵件,退出郵件使用q

這裏寫圖片描述

at    -c    ip     ##查看延遲任務的內容

這裏寫圖片描述

這裏寫圖片描述

at   -m       ##延時任務無輸出產生郵件
mail          ##查看郵件的內容,郵件在/var/spool/mail/kiosk中

這裏寫圖片描述

at    -f   filename    ##將文件內容中的命令作爲延時任務的動作

這裏寫圖片描述
2.黑名單
/etc/at.deny ##at命令黑名單配置文件

vim  /etc/at.deny
kiosk

at 18:00      ##kisok被加入黑名單,使用at的權限被禁止
You do not have permission to use at.

這裏寫圖片描述

3.白名單
touch /etc/at.allow ##建立at命令白名單配置文件,白名單出現,黑名單失效.所有用戶均不能使用at
這裏寫圖片描述
vim /etc/at.allow ##編輯白名單,添加westos用戶,只有westos用戶和root用戶能執行at命令

定時任務cron

cron由crond.service提供
寫入程序的時間和事件是永久保存的

1.設定方式
(1)命令方式
crontab -u -e ##參數可不寫

分鐘   小時   天       月   周   事件
58    06     *       *   *   rm -rf /mnt/*     ##每天的06:58執行rm -rf /mnt/*
58    06   1,15      *   *   rm -rf /mnt/*     ##每月1日和15日的06:58執行rm -rf /mnt/*
58    06   1-15      *   *   rm -rf /mnt/*     ##每月1日至15日的06:58執行rm -rf /mnt/*
58    06   1,15      3   *   rm -rf /mnt/*     ##3月1日、15日的06:58執行rm -rf /mnt/*
58    06   1,15      3   3   rm -rf /mnt/*     ##3月1日、15日的06:58和3月的每個週三的06:58執行rm -rf /mnt/*
\*/2 06-17  *       *   1-5  rm -rf /mnt/*     ##週一到週五的每天早上6點至下午的5點之間每隔2分鐘執行rm -fr /mnt/*事件

注意:多個事件的執行並不是按照事件排列的先後順序執行,事件的執行是根據命令的執行效率決定的,比如rm -rf優先於touch。

(2)文件方式定義crontab
vim /var/spool/cron/用戶名 ##以某用戶身份執行cron,文件名稱必須和用戶名稱一致

分  時   日   月   周      動作

vim /etc/cron.d/文件 ##設定多個用戶身份執行cron

分   時   日   月   周    用戶   動作

這裏寫圖片描述

注意:
當用戶root使用文件方式定義crontab時,執行動作的用戶是以root用戶的身份執行的。即使該用戶被加入黑名單,依舊可以執行動作。
這裏寫圖片描述

2.編輯事件

crontab   -e          #編輯事件
          -l          ##列出事件
          -r          ##刪除事件
          -r  -i      ##刪除任務時會詢問是否刪除,輸入y則刪除
          -r  -u  student    ##以student用戶執行事件

這裏寫圖片描述

這裏寫圖片描述
/var/spool/cron/* ##cronrenwu存儲位置

3.cron的黑白名單
默認情況下,系統只存在黑名單,當白名單被建立,則黑名單失效

(1)黑名單
/etc/cron.deny

vim /etc/cron.deny
westos

crontab -e
You (westos) are not allowed to use this program(crontab)
See crontab(1) for more information

這裏寫圖片描述

(2)白名單
touch /etc/cron.allow ##建立at命令白名單配置文件,白名單出現,黑名單失效.所有用戶均不能使用cron。
這裏寫圖片描述

vim /etc/cron.allow ##白名單中添加westos用戶,只有root和westos用戶可以使用cron。
westos
這裏寫圖片描述

(3)文件方式定義crontab
vim /var/spool/cron/用戶名 ##以某用戶身份執行cron,文件名稱必須和用戶名稱一致

分  時   日   月   周      動作

這裏寫圖片描述

vim /etc/cron.d/文件 ##設定多個用戶身份執行cron

分   時   日   月   周    用戶   動作

這裏寫圖片描述

臨時文件管理

vim /usr/lib/tmpfiles.d/westos.conf ##編寫管理臨時文件的配置文件,westos.conf爲用戶自定義的

  d      /mnt/westos     777       root     root    10s                
  |          |            |          |        |      |
 目錄 存放臨時文件的目錄 目錄的權限 目錄所屬用戶 所屬組 清理目錄內文件的間隔時間

這裏寫圖片描述

這裏寫圖片描述
systemd-tmpfiles –create /usr/lib/tmpfiles.d/* ##執行管理臨時文件配置文件
systemd-tmpfiles –clean /usr/lib/tmpfiles.d/* ##清理超過配置文件設定時間的文件

這裏寫圖片描述
重新打開一個窗口,進行監控: watch -n 1 ls -lR /mnt/
在原窗口touch /mnt/file1,10s之後執行systemd-tmpfiles –clean /usr/lib/tmpfiles.d/*,會發現/mnt/file1不見了。
這裏寫圖片描述

練習:定時人物cron與臨時文件管理結合使用

vim  /usr/lib/tmpfiles.d/westos.conf              ##編寫配置文件的內容
d   /westos/   777  root  root    30s

systemd-tmpfiles --create /usr/lib/tmpfiles.d/*   ##執行配置文件的內容,當目錄/westos/不存在時會建立/westos/

touch /westos/file{1..5}     ##向存放臨時文件的目錄內新建文件

vim /etc/cron.d/westos       ##文件方式編寫定向任務
*  *  *  *  * root systemd-tmpfiles --clean  /usr/lib/tmpfiles.d/*                    ##每分鐘清理一次臨時文件

ls -l /westos/               ##查看臨時文件是否被清理

這裏寫圖片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章