Linux 系統 shell腳本定時 清空系統日誌文件(超詳細)(基礎篇02)

方法一

其實沒有必要寫shell腳本,簡單一句話放在系統定時任務裏就行了。
比如你的日誌文件名叫a.log。路徑爲/tmp/a.log;
那麼你可以寫個定時任務,這樣做:crontab -e 進入定時任務器,然後把下面這段寫到裏面


00 02 * * * echo " " >/tmp/a.log


然後保存退出就可以了。這段內容意思是,每天凌晨2點自動清空a.log內容。你也可以自己定義多久清一次。比如想10分鐘清一次,就這麼寫*/10 * * * * echo " " >/tmp/a.log。

 

方法二

1、編寫腳本

    假設在根目錄下編寫腳本auto_clear.sh,腳本內容:

#!/bin/bash
#描述:清除日誌
file=/auto_clear.sh
cat /dev/null > $file

 

2、讓腳本定時執行

在當前用戶下,開始編輯定時任務

crontab -e

按鍵 i 進入編輯模式

輸入下述命令每天凌晨一點執行

00 1 * * * sh /auto_clear.sh

然後按鍵 Esc 退出編輯模式,再輸入 wq 保存退出即可

 

備註:

編輯好定時任務文本後最好重啓下服務

[local_user lwp]#service crond restart

 

時間格式

分鐘 小時 日期 月份 周 命令

數字範圍 0-59 0-23 1-31 1-12 0-7 echo "hello" >> abc.log

特殊字符的含義

*(星號) 代表任何時刻都接受。

,(逗號) 代表分隔時段的意思。

-(減號) 代表一段時間範圍內。

/n(斜線) 那個 n 代表數字,每隔 n 單位間隔。

eg1: 每年的五月一日 10:5 執行一次

5 10 1 5 * command(要是執行網址(curl "http://網址"),或者執行其它的直接寫路徑)

eg2: 每天的三點,六點各執行一次

00 3,6 * * * command

eg3: 每天的8:20, 9:20,10:20,11:20各執行一次

20 8-11 * * * command

eg4: 每五分鐘執行一次

*/5 * * * * command

eg5: 每週一十點執行一次

00 10 * * 1 command

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章