如果說我說如果,你的某一個目錄下會經常的生成一些垃圾文件,比如訪問日志、錯誤日志、core文件,而你又不想過幾分鍾就去手動檢查一下,那么可以使用定時執行任務的方式來解決。目前我所知道的可以執行定時任務的方式有這么幾種:crontab、后台腳本定時檢查。
下面對這幾種方式進行一下講解:
1、使用腳本
這個方式比較簡單,就是寫個腳本,每次開機的時候自動讓它啟動,然后放在后台去執行就可以了。腳本代碼如下:
$ cat cleanwitch.sh

1 #!/bin/bash 2 3 # which dir would you want to clean 4 # (please use absolute path like : 5 # /a/b/c ) 6 # split with space 7 #DIR_LIST="/root/temp /var/temp" 8 PATH_LIST="/home/normal/temp /home/normal/var" 9 10 # time : every (x) second 11 INTERVAL=3 12 13 # file filter 14 FILE_FILTER="core.*" 15 16 function clearfile() 17 { 18 rm -rf ${FILE_FILTER} 19 } 20 21 while true ; do 22 sleep ${INTERVAL} 23 for WORKPATH in ${PATH_LIST} ; do 24 if [ -n ${WORKPATH} ] ; then 25 NOW_PATH=`pwd` 26 cd ${WORKPATH} 27 clearfile 28 cd ${NOW_PATH} 29 fi 30 done 31 done
我們把這個文件放到/usr/local/bin目錄下,並且給可運行權限:
$ chmod 755 cleanwitch.sh
這樣一個可以執行的腳本就寫好了,但是還沒有設置開機啟動呢。設置開機啟動的方式也比較簡單,就是在/etc/rc.local這個配置文件下增加一句運行我們這個腳本的命令就可以了,增加的這句話如下:
/usr/local/bin/cleanwitch.sh &
為什么要在這句話后面加個&呢?因為在一個命令后面加上這個符號之后呢,這句腳本中運行的命令就會被放到后台作為一個服務去執行了。因為每次linux開機后都會去執行一次這個/etc/rc.local腳本,所以我們的清理腳本也會在開機的時候自動執行,並且每隔一段時間就會去執行我們讓它做的事情。
需要注意的是,不同的linux發行版中,rc.local的位置可能不同,不過基本都在/etc這個總目錄下,如果實在找不到,可以使用下面的命令找一下:
$ cd /etc/
$ find -name rc.local
如果要想停掉這個腳本怎么做呢?在命令行執行如下命令就可以了:
$ killall cleanwitch.sh
2、第二種方式就是使用crontab了
還不會~~