1、新建一個清除文件內容的shell腳本/usr/local/bin/clear,內容如下:
#!/bin/bash #變量賦值等於號兩邊不能有空格 FILE_PATH=/app/xxx/catania.out #if判斷條件前后一定要有空格,且要有;then if [ -f $FILE_PATH ];then #表達式一定要用``括起來,原生bash不支持簡單的數學運算,但是可以通過其他命令來實現,例如 awk 和 expr,expr 最常用。 #expr 是一款表達式計算工具,使用它能完成表達式的求值操作 #表達式和運算符之間要有空格,例如 2+2 是不對的,必須寫成 2 + 2 FILE_SIZE=`stat -c %s $FILE_PATH` #除法(/) FILE_SIZE1=`expr $FILE_SIZE / 1024 / 1024 / 1024` echo $FILE_PATH文件大小為:[$FILE_SIZE]Byte,[$FILE_SIZE1]GB #乘法(\*) THRESHOLD=`expr 1 \* 1024 \* 1024 \* 1024` if [ $FILE_SIZE -gt $THRESHOLD ];then echo 大於閾值:1GB,開始清空 echo > $FILE_PATH #echo后的字符串可以帶""也可以不用 echo "清空成功" fi else echo $FILE_PATH文件不存在 fi
2、往用戶的crontab中添加一個cron去執行上面這個shell
執行crontab -e命令用vi添加如下內容,保存之后就可以初始一個定時任務到crontab中,可以使用crontab -l命令查看定時任務是否添加成功
*/5 * * * * /usr/local/bin/clear
擴:
1、crontab
參數 :
-e : 執行文字編輯器來設定時程表,內定的文字編輯器是 VI,如果你想用別的文字編輯器,則請先設定 VISUAL 環境變數來指定使用那個文字編輯器(比如說 setenv VISUAL joe)
-r : 刪除目前的時程表
-l : 列出目前的時程表
2、crontabl -e
用戶所建立的Crontab文件存於/var/spool/cron中,其文件名與用戶名一致。
它的格式共分為六段,前五段為時間設定段(cron表達式),第六段為所要執行的命令段
格式如下:f1 f2 f3 f4 f5 program
3、cron表達式
格式如下:f1 f2 f3 f4 f5
其時間段的含義如下:
段 含義 取值范圍
第一段 代表分鍾 0—59
第二段 代表小時 0—23
第三段 代表日期 1—31
第四段 代表月份 1—12
第五段 代表星期幾 0—6(0代表星期日)
當 f1 為 * 時表示每分鍾要執行,f2 為 * 時表示每小時要執行,其余類推
當 f1 為 a-b 時表示從第 a 分鍾到第 b 分鍾這段時間內要執行,f2 為 a-b 時表示從第 a 到第 b 小時都要執行,其余類推
當 f1 為 */n 時表示每 n 分鍾個時間間隔執行一次,f2 為 */n 表示每 n 小時個時間間隔執行一次,其余類推
當 f1 為 a, b, c,… 時表示第 a, b, c,… 分鍾要執行,f2 為 a, b, c,… 時表示第 a, b, c…個小時要執行,其余類推
使用者也可以將所有的設定先存放在檔案 file 中,用 crontab file 的方式來設定時程表
例如:
周一到周五每天下午 5:00 執行一次 /usr/bin/backup :
0 17 * * 1-5 /usr/bin/backup