linux中系統延時任務及定時任務
如遇到這種情況
Can‘t open /var/run/atd.pid to signal atd. No atd running?
則執行
重啟服務
1 at
at 固定的時間
at now+1min(一分鐘之後執行)
touch file1 建立文件1
ctrl d 開啟任務
at -l 查看延時任務列表
at -c 任務號 (查看任務內容)
at -r 任務號 (刪除任務)
12任務已被刪除
當延時任務有輸出時候,並不是輸出在終端上,而是以郵件的形式發送給任務的發起者
郵件的存放位置
/var/spool/mail/用戶名 :每一個用戶的郵件會被記錄在以其用戶名為名稱的文件中。
清空郵件
2.at任務用戶的黑白名單
/etc/at.allow (用戶的白名單) 系統中默認不存在可以建立,建立後所有普通用戶都不能執行at 除非在其名單中
白名單成立後黑名單自動失效
老張在黑名單中所以不能執行at任務
harry沒在黑名單中則可執行at任務
白名單成立後所有用戶不能執行at任務
3系統定時任務設定
1.crontab 時間的表示方式
依次表示為 minute: 表示分鐘,可以是從0到59之間的任何整數。hour:表示小時,可以是從0到23之間的任何整數。 day:表示日期,可以是從1到31之間的任何整數。month:表示月份,可以是從1到12之間的任何整數。week:表示星期幾,可以是從0到7之間的任何整數,這裏的0或7代表星期日。
表示每分鐘
表示每2分鐘
早上9點到下午三點每兩分鐘
5月3日每周二的早上9點到下午15點每兩分鐘
2.crontab
crontab -e -u 指定用戶創建定時任務
建立了文件file{1.3}
crontab -l -u 查看指定用戶的定時任務
crontab -r -u # 取消指定用戶的定時任務
3系統控制crontab的服務
crontab由crond.service 服務控制。當該服務開啟時,所設定的定時任務才能生效。
service crond status 來運行服務
4.文件的方式設定定時任務 創建/etc/cron.d/xxx 文件 ,在該文件中編寫需要執行的定時任務 任務編寫格式:* * * * * 用戶(執行該任務的) 任務操作
5.crontab 的黑白名單
crontab 的黑名單
/etc/cron.deny 系統中默認存在,出現在黑名單中的用戶將無法使用crontab設定定時任務。
crontab 的白名單
/etc/cron.allow 系統中默認不存在,如果自己創建,黑名單失效,只有出現在白名單中的用戶才能使用crontab設定定時任務,超級用戶不受限制。
系統中臨時文件的管理
systemd-tmpfiles 系統用來創建、管理、刪除臨時文件的命令。
臨時文件都存在有效期,當其有效期過了之後就可誒被清理,但是有效期沒過就不能被清理。所以設置定時任務對系統的臨時文件進行清理,在每次清理時過期的文件會被清理掉,只要設置合適的清理周期,就能保證系統中臨時文件不會占用大量資源。
/usr/lib/tmpfiles.d/ 中的.conf文件描述了 systemd-tmpfiles 如何創建、清理、刪除臨時文件和目錄,記錄了對臨時文件的規範。
創建xxx.conf 文件,並寫入規範
systemd-tmpfiles --create /usr/lib/tmpfiles.d/*
編寫一個臨時目錄的規範文件,並掃描該規範文件創造出該目錄 文件讀取
systemd-tmpfiles --clean /usr/lib/tmpfiles.d/*
使用該指令對臨時文件的規範文件進行掃描,過期的臨時文件會被清理
linux中系統延時任務及定時任務