定時刪除伺服器的日誌
阿新 • • 發佈:2019-02-19
如何定時刪除伺服器日誌
如何刪除伺服器舊日誌
# delete_projectName_log.sh //刪除日誌的指令碼
#!/bin/bash
find /opt/logs/projectName/ -mtime +7 -name "mall.log-*" -exec rm -rf {} \; #找到超過7天的日誌執行刪除操作
find /opt/logs/projectName/ -mtime +2 -name "warn.log-*" -exec rm -rf {} \;
find /opt/logs/projectName/ -mtime +2 -name "error.log-*" -exec rm -rf {} \;
find /var/projectName/logs/ -mtime +7 -name "mall.log.*" -exec rm -rf {} \;
find /var/projectName/logs/ -name "projectName.jmonitor.log.2018-*" -exec rm -rf {} \;
find /var/projectName/logs/ -name "projectName.jmonitor.logstore.log.2018-*" -exec rm -rf {} \;
如何定時刪除伺服器日誌
啟動一個定時任務就行,crontab -e 開啟定時任務指令碼編輯模式,輸入下述指令碼並儲存可以實現每週三凌晨4點25分執行上述的日誌刪除工作,該指令碼會定時自動觸發,不需要額外的配置。
定時任務示例
# 每週三凌晨4點25分執行上述的日誌刪除工作
25 4 * * 3 /bin/sh ~/delete_projectName_log.sh
crontab -e命令簡介
crontab -e 是針對使用者的cron來設計的,如果是系統的例行性任務,該怎麼辦?是否還是需要以crontab -e來管理例行性命令?當然不需要,您只需要編輯/etc/crontab檔案就可以了。需要注意的是:crontab -e的作用其實是/usr/bin/crontab這個執行檔案,但是/etc/crontab是個純文字檔案,可以root的身份編輯這個檔案。
crontab -e命令格式
crontab -e
# 此時會進入 vi 的編輯畫面讓您編輯工作!注意到,每項工作都是一行。
#分 時 日 月 周 |<==============任務的完整命令列
* * * * * /home/blue/do/doTask.sh
crontab 語法
crontab [-u username] [-l|-e|-r]
選項與引數:
-u :只有 root 才能進行這個任務,亦即幫其他使用者建立/移除 crontab 工作排程;
-e :編輯 crontab 的工作內容
-l :查閱 crontab 的工作內容
-r :移除所有的 crontab 的工作內容,若僅要移除一項,請用 -e 去編輯