#coding=utf-8
#自动清理时间到期的文件夹
import os
import time
import datetime
#删除文件夹下所有文件和子文件夹
def delete_file_folder(src):
'''delete files and folders'''
if os.path.isfile(src):
try:
os.remove(src)
except:
pass
elif os.path.isdir(src):
for item in os.listdir(src):
itemsrc=os.path.join(src,item)
delete_file_folder(itemsrc)
try:
os.rmdir(src)
except:
pass
def checktime(yourpath):
#根据时间计算
pathlist=os.listdir(yourpath)
extlist=['txt','jpg']#允许删除的文件格式
for i in range(len(pathlist)):
source=yourpath+'\\'+pathlist[i]
dirname=pathlist[i]
#print dirname
#print source
if os.path.isfile(source):
m=time.localtime(os.stat(source).st_ctime)#文件的创建时间
startime=datetime.datetime.now()
endtime=datetime.datetime(m.tm_year,m.tm_mon,m.tm_mday,m.tm_hour,m.tm_min,m.tm_sec) #年月日时分秒
mydays=(startime-endtime).seconds
ext=os.path.splitext(source)[1][1:].lower() #文件格式
if mydays>=10000 and ext in extlist:
#10000秒清空一次
os.remove(source)#如果存在文件,则删除
print '已删除',source,'文件'
#如果是目录
if os.path.isdir(source):
m=time.localtime(os.stat(source).st_ctime)#文件的创建时间
startime=datetime.datetime.now()
endtime=datetime.datetime(m.tm_year,m.tm_mon,m.tm_mday,m.tm_hour,m.tm_min,m.tm_sec) #年月日时分秒
mydays=(startime-endtime).seconds
ext=os.path.splitext(source)[1][1:].lower() #文件格式
if mydays>=10000 and dirname.startswith('201209'):
#10000秒清空一次
delete_file_folder(source)#删除文件夹下所有文件和子文件夹
print '已删除',source,'文件夹'
#测试用部分
if __name__ == '__main__':
try:
checktime('E:\\hippo\\target_10.201.76.152')
checktime('E:\\hippo\\target_FTP_TEST')
checktime('E:\\ftphome')
except Exception,se:
print str(se);
分享到:
相关推荐
### Linux自动清理日志文件方法 #### 一、删除文件命令详解 在Linux环境中,日志文件对于系统运维至关重要,但随着时间的推移,这些文件会占用大量的磁盘空间。因此,定期清理旧的日志文件是非常必要的。下面详细...
这个程序的核心功能是通过C#编程语言实现定时任务,以自动清理指定目录下的日志文件。C#是一种面向对象的编程语言,广泛应用于Windows平台的软件开发,具有丰富的类库和强大的性能。利用C#的System.Threading命名...
本文将深入探讨如何利用log4net实现自动删除过期日志文件的功能。 **1. log4net简介** log4net是Apache软件基金会的项目,它为.NET平台提供了丰富的日志记录功能。log4net允许程序员定义日志输出的级别(如DEBUG、...
这类工具通常提供友好的界面,简化了日志清理过程,包括日志备份、日志截断和日志文件大小调整等操作。 - 使用前务必了解工具的兼容性、安全性及使用方法,遵循最佳实践,避免对数据库造成意外影响。 5. **注意...
手动清除IIS日志的关键是清除日志文件的存放位置和文件名,在清除日志前需要先停止对应的服务程序,然后用dos命令删除,之后再重新启动服务程序。通过手动清除IIS日志,可以释放服务器磁盘空间,防止日志文件过大...
本文将详细介绍如何设置SQL Server (mssql)的自动备份和自动清除日志文件的策略。 首先,我们来看每日自动备份的设置。备份是防止数据丢失的关键步骤,特别是对于那些业务关键的数据库。在SQL Server中,可以通过...
在SQL Server中,日志文件的增长是由于事务日志记录了数据库的所有更改操作,包括INSERT、UPDATE、DELETE等。当数据库运行时间较长或者处理大量事务时,日志文件的大小确实可能变得非常大,占用过多磁盘空间。SQL ...
Linux 定时清理日志 - 定时...这种方法可以帮助我们自动清理日志文件,释放硬盘空间和提高系统性能。同时,本文还详细解释了 find 命令和 crontab 计划任务的使用方法和参数设置,以便读者更好地理解和应用这些命令。
此命令用于清除已提交事务的日志记录,但不会收缩日志文件本身。这通常作为其他清理步骤前的预备工作。 ``` DUMPTRANSACTION <数据库名> WITH NO_LOG; ``` #### 2. 备份并清理日志 通过备份日志,然后将旧日志从...
Linux 中使用 crontab 自动清除日志 Linux 中使用 crontab 自动清除日志是一种常见的日志管理...Linux 中使用 crontab 自动清除日志是一种常见的日志管理方法,可以有效地管理日志文件,释放磁盘空间,提高系统性能。
Linux shell脚本定时清理tomcat日志文件 本文将详细介绍 Linux 环境中使用 shell 脚本来定时清理 Tomcat 日志文件的方法。该方法使用 cron 机制来实现每天自动切割日志文件,并删除 4 天前的日志文件。 知识点一:...
#功能:自动删除ORACLE归档日志文件 #删除方式:rman ,deletearchivelog #调用方式:可单独调用,或在job_clean_archivlog.sh脚本中根据需要调用见另外的附件) ##############################################
为了更好地管理数据库日志文件,可以将清理过程自动化。可以通过创建维护计划来实现自动化清理过程。 清理数据库日志文件是非常必要的,通过本教程您可以了解如何清理 AlwaysOn 集群数据库日志文件,并掌握具体的...
例如,日志管理工具可以设置为每天凌晨执行清空操作,或者当日志文件达到预设的大小阈值时自动清理。而自动保存日志的流程则保证了在清空之前,日志文件已被安全地备份到指定的位置,从而避免了数据丢失的风险。 在...
总结,使用Node.js实现Elasticsearch过期索引的自动清理是一项实用的技术,它可以帮助我们有效地管理日志数据,保持系统的高效运行。在实践中,结合具体的业务场景,灵活调整清理策略和频率,确保数据安全的同时,...
最近公司的系统服务器...干脆自力更生,自己做个小程序实现自动清理服务器日志信息。日志文件格式是按照时间自动生成的文本文件,这个知道了就好说了。无非就是定时删除几天的前的文本文件,然后用XML保存配置信息。
6. **清理过期日志**:备份完成后,可以根据上一次日志备份的时间戳,通过`db2 prune history "上次日志备份时间戳" and delete`命令来清理过期的日志文件。 7. **检查磁盘空间变化**:利用`df -h`命令来查看磁盘...
- **理解清理影响**:在清除日志前,必须了解这将如何影响数据库的恢复模型和故障恢复策略。例如,简单恢复模型下的事务日志清理较直接,但完整恢复模型下需要更谨慎。 - **遵循最佳实践**:在没有专业数据库管理员...
快速针对WEB服务器产生的庞大历史日志清理处理,清理过程中,记录清理的历史日志的日期及回显、执行清理等日志保留。