1. 程式人生 > >Linux(RadHat)基礎學習—延時任務和定時任務

Linux(RadHat)基礎學習—延時任務和定時任務

str 命令 一次 vim oot 每天 指令2 conf 回車

1.系統延時任務

1.at命令

at命令發起的延時任務都時一次性的

at + time[回車]
指令1[回車]
指令2[回車]
...[回車]
按ctrl+d發起動作

例子1:

[root@xyz ~]# at 11:11       ##設定人物執行時間(當前用戶是誰就是誰發起的任務)
at> rm -fr /mnt/*        ##延時動作(刪除/mnt下所有內容)
at>                    ##ctrl+d發起動作

例子2:

[root@xyz ~]# at now+1min   ##設定人物執行時間為1分鐘後
at> rm -fr /mnt/*       ##延時動作
at>             ##ctrl+d表示發起動作


2.一些at命令

at -l | atq         #查看當前任務
atrm  | at -d           #取消指定任務
at -c               #查看任務內容
at now+1min         #延遲一分鐘
at -f file          #延遲執行文件中的內容
at -m               #延遲命令沒有輸出時仍然發送郵件給執行者
at -M               #延遲命令有輸出時但不發送郵件給執行者

當任務有輸出的時候,輸出會以郵件的形式發送給at人物的發起人。
查看郵件:mail -u root
然後按數字選擇查看第幾封郵件,按q退出。


at 命令的黑白名單

/etc/at.deny        ##用戶黑名單,在此名單中出現的用戶不能執行at命令
/etc/at.allow       ##用戶白名單,名單默認不存在,但名單一旦出現,黑名單失效,且普通用戶不能執行at
        ##默認系統所有用戶不能執行at,只有在名單中出現的用戶可以使用at命令

2.系統定時任務

定時任務時永久的
定時任務程序crond,在系統中每分鐘做任務掃描
系統控制crontab的服務
    crontab.service     ##當程序開啟時定時任務生效

1.發起方式一:crontab命令

crontab -u username -e  [回車]    ##用戶發起任務
crontab -u username -r  [回車]    ##刪除任務
crontab -u username -l  [回車]    ##查看任務

輸入執行任務:時間+動作

* * * * *
這五個*號分別表示分鐘、時鐘、日,月、周幾

例如:

* * * * *  動作命令     #每分鐘執行一次
* * */2 * * 動作命令        #每隔兩天
* 08-17/2 * * * 動作命令        #8點到17點每隔2小時執行一次
*/2 09-17 * * * 動作命令        #每天9點到17點美隔2分鐘執行一次
*/2 09-17 * * 5 動作命令        #每周周五9點到17點每2分鐘執行一次
*/2 09-17 1 3,5 5 動作命令  #3月和5月的每周周五和每月1號9點到17點美2分鐘執行一次

定時任務存儲文件:
/var/spool/cron/目錄下,有記錄各個用戶發起的定時任務的文件


2.發起方式二:文件設置

編輯新建文件:vim /etc/cron.d/filename

* * * * * root  rm -fr /mnt/*         ##超級用戶每分鐘清理一次/mnt

在 /etc/目錄下有cron.daily、cron.hourly、cron.monthly 、cron.weekly 這幾個文件
在這些文件下寫執行命令,則會對應在每天、或每小時、或每月、或每周執行


crontab 命令的黑白名單

    /etc/cron.deny      ##用戶黑名單,在此名單中出現的用戶不能執行crontab命令
    /etc/cron.allow     ##用戶白名單,名單默認不存在,但名單一旦出現,黑名單失效,只有在名單中的用戶可以,並且/etc/at.deny失效
    ##這兩個名單都不會影響在/etc/cron.d/目錄中定時任務的執行。

3.系統臨時文件的管理

系統中服務在正常運行時會產生臨時文件

編輯文件:
    vim /usr/lib/tmpfiles.d/westos.conf     ##系統中臨時文件的配置

說明:

    d       /mnt/westos    777      root      root      10s
(1)文件類型      (2)文件名稱    (3)文件權限  (4)文件所有人    (5)文件所有組    (6)文件存在時間

執行命令:

systemd-tmpfiles --create /usr/lib/tmpfiles.d/* ##執行臨時文件配置
systemd-tmpfiles --clean /usr/lib/tmpfiles.d/*  ##清理臨時文件

Linux(RadHat)基礎學習—延時任務和定時任務