python初级实战-----定期删除一定时间外的文件

     测试一下定期删除oracle归档日志,用python写个脚本,归档日志文件只保留5天,5天以外的文件全部删除。
     具体实现脚本DeleteArchive.py,脚本具体内容如下:
    

__author__ = 'qgw'
import os;
import sys;
import time;

class DeleteLog:
    def __init__(self,filename,days):
        self.filename=filename;
        self.days=days;

    def delete(self):
        if os.path.exists(self.filename)==False:
            print(self.filename+ ' is not exists!!')
        elif os.path.isfile(self.filename):
            print(self.filename);
        elif os.path.isdir(self.filename):
            print(self.filename + ' is a path!');
            for i in [os.sep.join([self.filename,v]) for v in os.listdir(self.filename)]:
                if self.compare_file_time(i) and (os.path.isfile(i)):
                    os.remove(i);
                    print(i+' is removed!');

    def compare_file_time(self,file):
        time_of_last_mod=os.path.getatime(file);
        days_between=(time.time()-time_of_last_mod)/(24*60*60);
        if days_between>self.days:
            return True;
        return False;


if __name__=='__main__':
    path='/u01/app/diag/rdbms/orcl/orcl/trace';
    obj=DeleteLog(path,5);
    obj.delete();

Linux下调用python

 [root@LINUX142 scripts]# python DeleteFile.py

再通过crontab来定时调用上面的python 脚本

猜你喜欢

转载自www.cnblogs.com/jinyuanliu/p/10362548.html