关闭

python--自动删除文件

标签: linux自动清理
477人阅读 评论(0) 收藏 举报
分类:

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
0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:19918次
    • 积分:428
    • 等级:
    • 排名:千里之外
    • 原创:23篇
    • 转载:0篇
    • 译文:0篇
    • 评论:2条
    文章分类
    最新评论