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...