测试一下定期删除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 脚本