at和crontab兩種工作排程

2021-08-19 09:19:35 字數 4807 閱讀 9659

at 和 cron是兩種工作排程

(1)例行性:每隔一定的週期執行任務

(2)突發性:這次任務完成後,就沒有的那一種

at 是可以處理僅執行一次就結束排程的命令。at這個命令來生成所要執行的工作,並將這個工作以文字的方式寫入/var/spool/at目錄裡

at 使用下來的檔案來對at進行使用限制

at 17:00          在17:00時,延遲並執行某乙個任務

at now+2min       在兩分鐘後,執行某個任務

at -l             顯示正在執行的任務

at -c 工作號碼    列出當前工作號碼執行的任務

at -r 工作號碼    撤銷當前工作號碼執行的任務

練習[root@localhost ~]# date           #檢視當前日期

2023年 04月 24日 星期二 07:53:28 edt

[root@localhost ~]# at 7:55        #在7:55時執行任務

at> touch /mnt/file          #在/mnt/下建立file1到file5個檔案

at> #按ctrl+d執行任務

job 3 at tue apr 24 07:55:00 2018

[root@localhost ~]# at -c 3        #列出正在執行的詳情

#!/bin/sh

# atrun uid=0 gid=0

# mail root 0

umask 22

xdg_session_id=1; export xdg_session_id

hostname=localhost; export hostname

shell=/bin/bash; export shell

........

[root@localhost ~]# at -l          #顯示正在執行的任務

3    tue apr 24 07:55:00 2018 a root

[root@localhost ~]# at  -r 3       #撤銷當前正在執行的任務

[root@localhost ~]# at now+2min    #兩分鐘後時執行任務

at> touch  /mnt/www                #在/mnt/下建立www檔案

at> #按ctrl+d執行任務

job 4 at tue apr 24 07:56:00 2018

[root@localhost ~]# at -l          #列出當前執行的任務

4    tue apr 24 07:56:00 2018 a root

at.allow  白名單,寫入白名單裡,白名單裡的使用者可以執行at命令,

其他使用者不可以執行

at.deny   黑名單,寫入黑名單,黑名單裡的使用者不可以執行at命令,其他使用者可以執行

若同時存在黑名單和白名單,那麼忽略黑名單存在,只考慮白名單

若黑名單和白名單都不存在,那麼只有root使用者可以使用at這個命令

crontab 定時任務

crontab  用於設定週期性被執行的指令執行

cron 系統排程程序,可以使用它在每天的非高峰負荷時間段執行工作,或在一周或一月的不同時間段執行,這個可以是由我們自行設定,cron可以在我們無需人工干預的情況下完成定時任務

-u:只有root才能進行這個任務,也即幫其他使用者新建/刪除crontab工作排程

-e:編輯crontab的工作內容

-l:查閱crontab的工作內容

-r:刪除所有的crontab的工作內容,若只要刪除一項,請用-e去編輯

crontab -u root -e  #發起定時任務

crontab -u root -l  #檢視定時任務

crontab -u root -r  #刪除正在執行的任務

cron.daily          #每天執行一次任務

cron.weekly         #每星期執行一次任務

cron.monthly        #每月執行一次任務

cron.hourly         #每小時執行一次任務

cron.d              #系統自動定期需要做的任務

crontab             #設定定時任務執行檔案

cron.deny           #定時命令的黑名單,如果某個使用者在這個名單裡,則這個使用者不能執行這個crontab命令

cron.allow          #定時命令的白名單,如果某個使用者在這個名單裡,則這個使用者能執行這個crontab命令,其他使用者不能執行此命令,但是超級使用者除外

如果同時執行有黑白名單,那麼黑名單就不重要了,取決於白名單。

*   代表任何時刻

,  代表分隔時段

-   代表一段時間範圍內

/n  每隔n單位間隔執行一次任務

*     *     *    *   *  #分鐘 小時 天 月 周

*    08-17  *    *   *  #每天的8點到17點發起定時任務

*/2  08-17  *    *   *  #每天的8點到17點每隔兩分鐘發起定時任務

*/2  08-17 1,15  *   *  #每月的第一天和第15天的8點到17點每隔兩分鐘發起乙個任務

*/2  08-17 1,15 3-5  *  #每年的3到5月的的第一天和第15天的8點到17點每隔兩分鐘發起乙個任務

*/2  08-17 1,15 3-5  3  #每年的3到5月的第三週的第一天和第15天的8點到17點每隔兩分鐘發起乙個任務

練習ot@localhost desktop]# crontab -u root -e  #發起定時任務

crontab: installing new crontab

截圖

[root@localhost desktop]# crontab -u root -l  #檢視正在執行的任務

16 9 * * * touch /mnt/file

截圖crontab監控

[root@localhost desktop]# crontab -u root -l  #檢視正在執行的任務

20  9 * * * touch /mnt/file

[root@localhost desktop]# crontab -u root -r  #刪除正在執行的任務,對已有的任務不起任何作用。

systemd-tmpfiles  --create /usr/lib/tmpfiles.d/* #建立臨時檔案

vim  westos.conf  編輯配置檔案

systemd-tmpfiles  --clean  /usr/lib/tmpfiles.d/* #刪除臨時檔案

練習[root@localhost tmpfiles.d]# vim westos.conf

[root@localhost tmpfiles.d]# pwd

/usr/lib/tmpfiles.d

[root@localhost tmpfiles.d]# vim westos.conf

[root@localhost tmpfiles.d]# cat westos.conf

d  /mnt/westos 1777 root  root 10s

[root@localhost tmpfiles.d]# touch /mnt/westos/file

[root@localhost tmpfiles.d]# systemtemd-tmpfiles --clean /usr/lib/tmpfiles.d/*

bash: systemtemd-tmpfiles: command not found...

[root@localhost tmpfiles.d]# systemd-tmpfiles --clean /usr/lib/tmpfiles.d/*

[root@localhost tmpfiles.d]# systemd-tmpfiles --create /usr/lib/tmpfiles.d/*

[root@localhost tmpfiles.d]# systemd-tmpfiles --clean /usr/lib/tmpfiles.d/*

[root@localhost tmpfiles.d]# touch /mnt/westos/file

[root@localhost tmpfiles.d]# touch /mnt/westos/file1

[root@localhost tmpfiles.d]# systemd-tmpfiles --clean /usr/lib/tmpfiles.d/*

[root@localhost tmpfiles.d]# touch /mnt/westos/file1

[root@localhost tmpfiles.d]# rm -rf /mnt/file*

[root@localhost tmpfiles.d]# touch /mnt/westos/file

[root@localhost tmpfiles.d]# systemd-tmpfiles --clean /usr/lib/tmpfiles.d/*

crontab的兩種配置方式

廢話不多說,直接上菜了 第一種 在 etc crontab下設定,指定使用者名稱的 1 vim命令進入 etc crontab 2 在最後一行加上 59 23 root root catalina.out.rm rm 8080 8081 catalina.sh 如下說明 3 重啟crontab,使配...

ftp的兩種工作模式

ftp 是一種資料傳輸協議 file transfer protocol 它的連線模式有兩種 主動模式 active 和被動模式 passive 以下說明ftp的連線是怎樣建立的 在 active 模式下 一般預設的模式 ftp client 開啟乙個隨機選擇的tcp port 呼叫 ftp ser...

ftp的兩種工作模式

ftp 是一種資料傳輸協議 file transfer protocol 它的連線模式有兩種 主動模式 active 和被動模式 passive 以下說明ftp的連線是怎樣建立的 在 active 模式下 一般預設的模式 ftp client 開啟乙個隨機選擇的tcp port 呼叫 ftp ser...