要實現定時刪除某個目錄下的所有檔案需要用到linux的crontab指令,可以用shell腳本實作。例如刪除/tmp下的所有快取文件,操作如下:
[root@localhost ~]# vi /etc/init.d/delete.sh 按i并复制下面内容到delete.sh文件内,之后按shift+: 输入wq保存并退出。 #!/bin/bash dir=/tmp //需要清空的目录名称 files=`ls ${dir}` for file in $files do if [ -e ${dir}/${file} ];then rm -f ${dir}/${file} fi done
然後給此腳本755權限,程式碼如下:
[root@localhost ~]# chmod 755 /etc/init.d/delete.sh
下面就使用crontab指令進行時間設定,例如,每天凌晨3點清除/tmp目錄下的所有檔案。執行以下命令會進入vim編輯介面。
[root@localhost ~]# crontab –e 粘贴以下代码; 0 3 * * * /etc/init.d/delete.sh 保存并退出,现在定时工作已经完成了,每天凌晨3点自动清空/tmp目录下的文件。 crontab –e的时间用法说明; * * * * * /etc/init.d/delete.sh 分 时 日 月 周 命令 第1列*号表示分钟1-59 每分钟用*或者 */1表示 第2列*号表示小时0-23小时(0表示0点) 第3列*号表示日期1-31日 第4列*号表示月份1-12月 第5列*号表示每周,0-6(0表示星期天) 第6列是要运行的命令 例如每周3的晚上23:30运行该脚本,可以这样写: 30 23 * * 3 /etc/init.d/delete.sh
其他時段也是如此。
以上是linux計劃定時自動刪除目錄下文件的詳細內容。更多資訊請關注PHP中文網其他相關文章!