cronie 實現定時任務功能*atd 實現定時任務功能 只能一次設定定時功能 anacron 實現定時任務功能 應用在家用電腦 7*24伺服器
檢查軟體是否安裝 cronie
[root@oldboyedu ~]# rpm -qa cronierpm -ivh 軟體包.rpm --- 手動安裝軟體-i install安裝-v 顯示過程資訊-h human 以人類可讀方式顯示資訊說明: 無法解決軟體依賴關係•cronie-1.4.11-19.el7.x86_64
•[root@oldboyedu ~]# rpm -ql cronie
•/etc/cron.deny
•/bin/crontab
日誌檔案需要定期進行切割處理周一 secure 100m周二(00:00) mv secure secure-date +%f
100m 切割後的檔案 系統特殊目錄:系統定時任務週期:每小時 控制定時任務目錄:/etc/cron.hourly
系統定時任務週期:每一天 控制定時任務目錄:/etc/cron.daily 00:00-23:59
系統定時任務週期:每一周 控制定時任務目錄:/etc/cron.weekly 7天
系統定時任務週期:每個月 控制定時任務目錄:/etc/cron.monthly 30 28 31
a 使用者定時任務檢視 crontab -l(list)說明: 列表檢視定時任務資訊(cron table)
b 使用者定時任務編輯 crontab -e(edit)說明: 編輯配置定時任務資訊
crontab -e 編寫定時任務 vi /var/spool/cron/ 定時任務配置檔案儲存目錄 /var/spool/cron/root root使用者設定的定時任務配置檔案/var/spool/cron/hgg hgg使用者設定的定時任務配置檔案
visudo 對普通使用者提權 vi /etc/sudoers
定時任務服務是否啟動/是否開機自動啟動systemctl status crond
01、用數值表示時間資訊[root@hgg ~]# systemctl status crond
● crond.service - command scheduler
loaded: loaded (/usr/lib/systemd/system/crond.service; enabled; vendor preset: enabled)
active: active (running) since sun 2021-08-01 14:36:55 +08; 2h 53min ago
main pid: 6241 (crond)
cgroup: /system.slice/crond.service
└─6241 /usr/sbin/crond -n
aug 01 14:36:55 hgg systemd[1]: started command scheduler.
aug 01 14:36:56 hgg crond[6241]: (cron) info (random_delay will be scaled with fac...d.)
aug 01 14:36:58 hgg crond[6241]: (cron) info (running with inotify support)
hint: some lines were ellipsized, use -l to show in full.
00 02 * * * 備份檔案02、利用特殊符號表示時間資訊
* * * * * 備份檔案每分鐘 每小時 每天 每月 每週ps: 定時任務最短執行的週期為每分鐘
*/5 */5 */5 * *
每隔5分鐘 每隔5小時每隔五天
01-05 02 * * *
01到05 02 * * *指定時間的範圍:凌晨兩點01-05分
00 14,20 * * *指定不連續的時間資訊:下午兩點與晚上八點
03、定時任務備份流程
1) 每天凌晨兩點備份 /data目錄到 /backup第乙個歷程: 寫上時間資訊
00 02 * * *
第二個歷程: 寫上完成任務的具體命令
cp -a /data /backup
第三個歷程: 編寫定時任務
crontab -e
00 02 * * * cp -a /date /backup
04、 定時任務排查方法:
1、檢查是否有定時任務配置檔案cat /var/spool/cron/root
2、檢查定時任務日誌檔案tail -f /var/log/cron
1) 編寫定時任務要有注釋說明
2) 編寫定時任務路徑資訊盡量使用絕對路徑
3) 編寫定時任務命令需要採用絕對路徑執行 /usr/sbin/useradd命令執行成功條件:useradd ---> $path ---> /sbin/useradd ---> 命令執行成功定時任務執行時,識別的path資訊只有: /usr/bin:/binuseradd命令--->usr/sbin/useradd
4) 編寫定時任務時,可以將輸出到螢幕上的資訊儲存到黑洞中,避免占用磁碟空間
* * * * * sh test.sh &>/dev/null
說明: 定時任務中執行命令,如果產生輸出到螢幕的資訊,都會以郵件方式告知使用者5) 編寫定時任務, 盡量不要產生螢幕輸出資訊cp -a /data /backuptar zcvf /backup/data.tar.gz /data 有資訊輸出cd / tar zcf /backup/data.tar.gz ./data 沒有資訊輸出/var/spool/mail/root 不斷變大占用磁碟空間 占用的block空間
解決方法: 將郵件服務關閉
systemctl stop postfix
/var/spool/postfix/maildrop/ 不斷產生小檔案占用磁碟空間 占用的inode空間
解決方法: 刪除小檔案
rm -f /var/spool/postfix/maildrop/*
systemctl start postfix
6) 當需要多個命令完成乙個定時任務需求時,可以利用指令碼編寫定時vim backup.sh cp -a /data /backuptar zcvf /backup/data.tar.gz /data
crontab -e
* * * * */bin/sh /server/scripts/backup.sh &>/dev/null
crontab定時任務
今天工作項有個任務是讓ubuntu定時執行某個指令碼,對postgresql資料庫進行定時備份。linux 系統都有個cron定時任務的機制。今天做些筆記,以便日後翻查。注意 cron機制是有個使用者系統的概念的,即分系統cron和使用者cron,每個使用者所執行的cron任務可能不同。1.以roo...
crontab定時任務
基本格式 command 分 時 日 月 周 命令 第1列表示分鐘1 59 每分鐘用 或者 1表示 第2列表示小時1 23 0表示0點 第3列表示日期1 31 第4列表示月份1 12 第5列標識號星期0 6 0表示星期天 第6列要執行的命令 我的需求是定時備份mongodb 編寫任務執行的指令碼ba...
Crontab定時任務
我們可以使用crontab執行一些週期任務 crontab u user file crontab u user 將file做為crontab的任務列表檔案並載入crontab 編輯crontab檔案內容 顯示crontab檔案內容 刪除載入後的crontab檔案內容 每分鐘向使用者目錄下的log....