如題所示,生產伺服器每天會產生很大的日誌檔案,為了不使硬碟被日誌檔案塞滿,因此需要定期清理日誌檔案。這時我們可以寫乙個shell指令碼用來清理某個路徑下45天以前的日誌,然後再設定乙個定時任務每週定時執行這個指令碼即可
(1)清理某個路徑下的日誌指令碼deloldlogs.sh:
1
[root@prx01 cleanlog]
# vim /usr/local/cleanlog/deloldlogs.sh
1
2
3
4
#!/bin/sh
#刪除輸入路徑下的修改時間在45天以前的日誌檔案
find
$1 -mtime +45 -name
"*log*"
-
exec
rm
-f {} \;
這段**不難理解,就是清理引數1所在的路徑下的修改時間在45天以前的日誌檔案
(2)指定清理哪些路徑的日誌的指令碼del_all_oldlogs.sh:
1
[root@prx01 cleanlog]
# vim /usr/local/cleanlog/del_all_oldlogs.sh
1
2
3
4
5
#!/bin/bash
/usr/local/cleanlog/deloldlogs
.sh
"/home/usr/ewp/logs"
/usr/local/cleanlog/deloldlogs
.sh
"/home/usr/h5/logs"
/usr/local/cleanlog/deloldlogs
.sh
"/home/usr/payment/logs"
(3)給指令碼新增執行許可權: 1
[root@prx01 cleanlog]
# chmod a+x /usr/local/cleanlog/del*.sh
(4)新增定時任務: 1
[root@prx01
cron
]
# vim /var/spool/cron/root
新增以下內容: 1
10 0 * * 6 /usr/local/cleanlog/del_all_oldlogs.sh
注:為了防止出現許可權不夠的情況,因此這裡設定了乙個root使用者的定時任務
這句**的意思是:在每週6的0:10執行/usr/local/cleanlog/del_all_oldlogs.sh 這個指令碼
如果對linux中的定時任務不太熟悉的話,建議可以參考下我寫的這篇文章:
(5)檢視定時任務:
1
# crontab -l
Linux中使用定時任務每週定時清理45天以前日誌
如題所示,生產伺服器每天會產生很大的日誌檔案,為了不使硬碟被日誌檔案塞滿,因此需要定期清理日誌檔案。這時我們可以寫乙個shell指令碼用來清理某個路徑下45天以前的日誌,然後再設定乙個定時任務每週定時執行這個指令碼即可 1 清理某個路徑下的日誌指令碼deloldlogs.sh root prx01c...
Linux使用定時任務每週定時清理45天以前日誌
本文主要介紹的是linux使用定時任務每週定時清理45天以前日誌。伺服器每天會產生很大的日誌檔案,為了不使硬碟被日誌檔案塞滿,因此需要定期清理日誌檔案。這時我們可以寫乙個shell指令碼用來清理某個路徑下45天以前的日誌,然後再設定乙個定時任務每週定時執行這個指令碼即可。清理某個路徑下的日誌指令碼d...
linux定時任務 at定時任務
at命令是一次性定時計畫任務,at的守護程序atd會以後臺模式執行,檢查作業佇列來執行作業。atd守護程序會檢查系統上的乙個特殊目錄來獲取at命令的提交的作業,預設情況下,atd守護程序每60秒檢查一次目錄,有作業時,會檢查作業執行時間,如果時間與當前時間匹配,則執行此作業。注意 at命令是一次性定...