1. 程式人生 > >python--自動刪除檔案

python--自動刪除檔案

1、目的:定期自定刪除7天前的資料
python指令碼如下:

#coding=utf-8
import os,time,datetime

#需定時刪除的目錄的上一層路徑
data_dir="/data"
#獲取本地系統上週的時間
date = os.popen("date -d '(date +%Y%m%d) -7 days' +%Y-%m-%d").read().strip()
#將date轉換成時間格式
t2 = time.strptime(date,'%Y-%m-%d')
t2 = datetime.datetime(*t2[:3])
#初始化檔名稱列表
dir_name = []
#迴圈取出目錄的絕對路徑
for filename in os.listdir(data_dir): filepath = os.path.join(data_dir,filename) #只對目錄進行操作,獲取目錄的最後修改時間,並把最後修改時轉換成時間格式 if os.path.isdir(filepath): dir_date = os.popen("stat %s|sed -n '7p'|awk '{print $1}'|awk -F ':' '{print $2}'" %filepath).read().strip() t = time
.strptime(dir_date,'%Y-%m-%d') t1 = datetime.datetime(*t[:3]) if t1>t2: print "目錄%s近期在用,無法刪除!" %filename elif t2>t1: print "目錄%s已廢棄超過一週,正在刪除%s" %(filename,filepath) time.sleep(10) os.system("rm -rf %s" %filepath) else
: print "目錄%s廢棄未超過一週,等待下次檢測...." %filename

伺服器的crontab配置如下:

0 0 * * * /usr/bin/python /data/delete_data.py >>/data/delete_data.log 2>&1