天天看點

延時任務at,定時任務cron,臨時檔案管理

延時任務at

1.at指令用法:

at now+5min|時間
>指令
>Ctrl+d
           
延時任務at,定時任務cron,臨時檔案管理
at 03:19
> reboot
> ctrl+d
定時重新開機
           
延時任務at,定時任務cron,臨時檔案管理
at -l | atq #檢視未執行的延時任務
atrm ip | at -d ip #終止延時任務
           
延時任務at,定時任務cron,臨時檔案管理
延時任務at,定時任務cron,臨時檔案管理
at -M
##延時任務有輸出不産生郵件,退出郵件使用q
           
延時任務at,定時任務cron,臨時檔案管理

at -c ip

##檢視延時任務的内容

延時任務at,定時任務cron,臨時檔案管理

at -m

##延時任務無輸出産生郵件

mail

##檢視郵件内容,在/var/spool/mail/root/

延時任務at,定時任務cron,臨時檔案管理
延時任務at,定時任務cron,臨時檔案管理
at -f filename 
##将檔案内容中的指令作為延時任務的動作
           
延時任務at,定時任務cron,臨時檔案管理
延時任務at,定時任務cron,臨時檔案管理

2.黑名單

/etc/at.deny

at指令黑名單配置檔案

vim /etc/at.deny
student
           

将student使用者寫入黑名單,student不可以使用at指令

延時任務at,定時任務cron,臨時檔案管理

3.白名單

touch /etc/at.allow

建立at指令的白名單配置檔案

白名單出現,黑名單失效,白名單以外的使用者都不能使用at(root可以)

vim /etc/at.allow
   student
           

白名單中寫入student使用者,其他使用者不可以使用at 延時任務,root可以

延時任務at,定時任務cron,臨時檔案管理

定時任務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/*事件  
           

發起方式1

crontab

-e ##編輯定期任務

-l ##顯示定期任務

-r ##删除定期任務

crontab格式

分鐘 小時 天 月 周

分鐘/數字 ##每隔幾分鐘,以此類推,小時,天,月,周都适用

(2)檔案方式定義crontab

以某使用者身份執行cron,檔案名稱必須和使用者名稱一緻

vim /var/spool/cron/使用者名 
    分  時   日   月   周      動作
           

設定多個使用者身份執行cron

vim /etc/cron.d/檔案

分   時   日   月   周    使用者   動作
           
延時任務at,定時任務cron,臨時檔案管理

編輯事件

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

4.crontab使用限制

黑名單

/etc/cron.deny ##預設存在系統中,在此清單中出現的使用者被禁止

test ##禁止test執行crontab

白名單

touch /etc/cron.allow ##預設在系統中不存在,

##但是當此檔案存在時,

###deny檔案失效,

#并且所有普通使用者能執行crontab的權力被禁止,隻有在此檔案中的使用者可以執行crontab

student ##系統中的普通使用者隻有student可以使用crontab

5.系統臨時檔案

vim /usr/lib/tmpfiles.d/xxx.conf

編寫管理臨時檔案的配置檔案

延時任務at,定時任務cron,臨時檔案管理
類型	       名稱	         權限	   所有人	所有組	存在時間(s m d)
  d      /mnt/haha     777       root     root    10s                
  |          |            |          |        |      |
 目錄 存放臨時檔案的目錄 目錄的權限 目錄所屬使用者 所屬組 清理目錄内檔案的間隔時間

systemd-tmpfiles	--create /usr/lib/tmpfiles.d/xxx.conf	##執行管理臨時檔案配置檔案
systemd-tmpfiles	--clean	/usr/lib/tmpfiles.d/xxx.conf	##清理超過配置檔案設定時間的文
           
延時任務at,定時任務cron,臨時檔案管理

重新打開一個視窗,進行監控: watch -n 1 ls -lR /mnt/

在原視窗touch /mnt/test,10s之後執行systemd-tmpfiles --clean /usr/lib/tmpfiles.d/*,會發現/mnt/test不見了。

延時任務at,定時任務cron,臨時檔案管理

繼續閱讀