`

自动清理日志文件

阅读更多

 

 

#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自动清理日志文件方法 #### 一、删除文件命令详解 在Linux环境中,日志文件对于系统运维至关重要,但随着时间的推移,这些文件会占用大量的磁盘空间。因此,定期清理旧的日志文件是非常必要的。下面详细...

    定时删除日志文件含C#源码

    这个程序的核心功能是通过C#编程语言实现定时任务,以自动清理指定目录下的日志文件。C#是一种面向对象的编程语言,广泛应用于Windows平台的软件开发,具有丰富的类库和强大的性能。利用C#的System.Threading命名...

    log4net自动删除日志文件实现

    本文将深入探讨如何利用log4net实现自动删除过期日志文件的功能。 **1. log4net简介** log4net是Apache软件基金会的项目,它为.NET平台提供了丰富的日志记录功能。log4net允许程序员定义日志输出的级别(如DEBUG、...

    清除SQL数据库日志文件

    这类工具通常提供友好的界面,简化了日志清理过程,包括日志备份、日志截断和日志文件大小调整等操作。 - 使用前务必了解工具的兼容性、安全性及使用方法,遵循最佳实践,避免对数据库造成意外影响。 5. **注意...

    手动清除IIS日志

    手动清除IIS日志的关键是清除日志文件的存放位置和文件名,在清除日志前需要先停止对应的服务程序,然后用dos命令删除,之后再重新启动服务程序。通过手动清除IIS日志,可以释放服务器磁盘空间,防止日志文件过大...

    mssql自动备份及自动清除日志文件服务器设置

    本文将详细介绍如何设置SQL Server (mssql)的自动备份和自动清除日志文件的策略。 首先,我们来看每日自动备份的设置。备份是防止数据丢失的关键步骤,特别是对于那些业务关键的数据库。在SQL Server中,可以通过...

    sql自动清理日志.doc

    在SQL Server中,日志文件的增长是由于事务日志记录了数据库的所有更改操作,包括INSERT、UPDATE、DELETE等。当数据库运行时间较长或者处理大量事务时,日志文件的大小确实可能变得非常大,占用过多磁盘空间。SQL ...

    Linux定时清理日志 - 定时删除日志文件.pdf

    Linux 定时清理日志 - 定时...这种方法可以帮助我们自动清理日志文件,释放硬盘空间和提高系统性能。同时,本文还详细解释了 find 命令和 crontab 计划任务的使用方法和参数设置,以便读者更好地理解和应用这些命令。

    SQL日志文件太大的清理方法

    此命令用于清除已提交事务的日志记录,但不会收缩日志文件本身。这通常作为其他清理步骤前的预备工作。 ``` DUMPTRANSACTION <数据库名> WITH NO_LOG; ``` #### 2. 备份并清理日志 通过备份日志,然后将旧日志从...

    Linux中使用crontab自动清除日志

    Linux 中使用 crontab 自动清除日志 Linux 中使用 crontab 自动清除日志是一种常见的日志管理...Linux 中使用 crontab 自动清除日志是一种常见的日志管理方法,可以有效地管理日志文件,释放磁盘空间,提高系统性能。

    linux shell脚本定时清理tomcat日志文件

    Linux shell脚本定时清理tomcat日志文件 本文将详细介绍 Linux 环境中使用 shell 脚本来定时清理 Tomcat 日志文件的方法。该方法使用 cron 机制来实现每天自动切割日志文件,并删除 4 天前的日志文件。 知识点一:...

    自动删除ORACLE归档日志文件

    #功能:自动删除ORACLE归档日志文件 #删除方式:rman ,deletearchivelog #调用方式:可单独调用,或在job_clean_archivlog.sh脚本中根据需要调用见另外的附件) ##############################################

    AlwayOn集群数据库日志清理教程.doc

    为了更好地管理数据库日志文件,可以将清理过程自动化。可以通过创建维护计划来实现自动化清理过程。 清理数据库日志文件是非常必要的,通过本教程您可以了解如何清理 AlwaysOn 集群数据库日志文件,并掌握具体的...

    清空日志 保存日志 自动清空日志 自动保存日志

    例如,日志管理工具可以设置为每天凌晨执行清空操作,或者当日志文件达到预设的大小阈值时自动清理。而自动保存日志的流程则保证了在清空之前,日志文件已被安全地备份到指定的位置,从而避免了数据丢失的风险。 在...

    Nodejs实现自动清理elasticsearch过期索引(日志清理)

    总结,使用Node.js实现Elasticsearch过期索引的自动清理是一项实用的技术,它可以帮助我们有效地管理日志数据,保持系统的高效运行。在实践中,结合具体的业务场景,灵活调整清理策略和频率,确保数据安全的同时,...

    日志文件清理工具V1.0

    最近公司的系统服务器...干脆自力更生,自己做个小程序实现自动清理服务器日志信息。日志文件格式是按照时间自动生成的文本文件,这个知道了就好说了。无非就是定时删除几天的前的文本文件,然后用XML保存配置信息。

    DB2 归档日志清理

    6. **清理过期日志**:备份完成后,可以根据上一次日志备份的时间戳,通过`db2 prune history "上次日志备份时间戳" and delete`命令来清理过期的日志文件。 7. **检查磁盘空间变化**:利用`df -h`命令来查看磁盘...

    清除sql日志文件工具

    - **理解清理影响**:在清除日志前,必须了解这将如何影响数据库的恢复模型和故障恢复策略。例如,简单恢复模型下的事务日志清理较直接,但完整恢复模型下需要更谨慎。 - **遵循最佳实践**:在没有专业数据库管理员...

    清理IIS日志文件

    快速针对WEB服务器产生的庞大历史日志清理处理,清理过程中,记录清理的历史日志的日期及回显、执行清理等日志保留。

Global site tag (gtag.js) - Google Analytics