删除最近几天的LOG记录文件

Linux定时删除7天前的日志文件 阅读详情
// Delete Expire Log Files
BOOL DeleteExpireFiles(LPCTSTR lpszFileExt, SYSTEMTIME* pSystemTime, int nReservedDays)
{
	BOOL bRet = FALSE;

	do
	{
		ASSERT(NULL != lpszFileExt);
		ASSERT(NULL != pSystemTime);

		if (nReservedDays <= 0) { break; }

		TCHAR szDir[MAX_PATH] = { 0 };
		GetModuleFileName(NULL, szDir, _countof(szDir) - 1);
		ASSERT(_tcslen(szDir) > 0);
		_tcsrchr(szDir, TEXT('\\'))[0] = TEXT('\0');

		TCHAR szLog[MAX_PATH] = { 0 };
		StringCchPrintf(szLog, _countof(szLog), TEXT("%s\\*%s"), szDir, lpszFileExt);

		WIN32_FIND_DATA fd = { 0 };

		HANDLE hFind = FindFirstFile(szLog, &fd);

		if (INVALID_HANDLE_VALUE == hFind) { break; }

		CTime current(*pSystemTime);

		while (TRUE)
		{
			if (!(FILE_ATTRIBUTE_DIRECTORY & fd.dwFileAttributes))
			{
				CTime time = CTime(fd.ftCreationTime);
				CTimeSpan span(nReservedDays, 0, 0, 0);

				if ((current - time) > span)
				{
					TCHAR szFile[MAX_PATH] = { 0 };
					StringCchPrintf(szFile, _countof(szFile), TEXT("%s\\%s"), szDir, fd.cFileName);

					DeleteFile(szFile);
				}
			}

			if (!FindNextFile(hFind, &fd)) { break; }
		}

		if (INVALID_HANDLE_VALUE != hFind) { FindClose(hFind); hFind = INVALID_HANDLE_VALUE; }

		// Completed
		bRet = TRUE;
	} while (0);

	return bRet;
}

// 调用方式 : e.g 保留最近三天的log记录,删除之前的log记录
SYSTEMTIME st = { 0 };
GetSystemTime(&st);
DeleteExpireFiles(TEXT(".log"), &st, 3);

 

Git 日志排查指南:5个高级 git log 参数定位问题提交 本文详细介绍了5个高级git log参数,帮助开发者高效定位问题提交。通过时间范围过滤、内容搜索、提交信息匹配、路径过滤和可视化历史等技巧,可以快速缩小排查范围,精准找到代码问题源头。特别适合团队协作中处理隐蔽Bug和性能退化问题,提升分布式版本管理效率。 阅读详情

相关推荐

Minitab正交试验设计:从入门到精通的完整指南

本文提供了一份使用Minitab进行正交试验设计的完整指南。从正交试验省时省力的原理讲起,详细介绍了在Minitab中创建正交表、填入数据、执行分析(包括解读ANOVA和P值)以及寻找最优参数组合的全流程。文章旨在帮助读者,特别是工艺优化和研发人员,快速掌握这一高效工具,从而用最少的实验次数锁定关键影响因素,提升工作效率与成果。

weixin_29201313的博客 463

Linux清空日志的五种方法

在Linux中,有多种方法可以清空日志文件。

sugar_cookie的博客 2万+

实践指南——【SPSS操作解析】线性混合效应模型在重复测量数据中的应用

本文详细解析了线性混合效应模型在重复测量数据分析中的应用,并提供了SPSS操作指南。文章阐述了该模型如何通过区分固定效应与随机效应,有效处理数据非独立性和缺失值问题,从而获得更可靠的统计推断。

oo7890的博客 550

清空log日志四种方法

进程任然存(有程序一直在读写log文件)在没被杀死或者没有停止的时候。如果删除了日志文件(日志文件可能是实时读写的),那么磁盘的空间不会被释放。 所以最好的方法就是清空文件,保留原文件,只能将原文件的内容清空。 可以在命令行输入以下指令手动清空: 1、>/logs/file.log 2、cat /dev/null >/logs/file.log 3、echo "">/logs/file.log 脚本中常用清空日志方法: 用冒号 4、:>/logs/file.log ...

mahui_1980的专栏 1万+

SCL3400硬件避坑指南:引脚兼容性测试+模式切换异常处理

本文针对村田SCL3400双轴倾角计在实际硬件设计中的常见问题,提供了详细的避坑指南。重点解析了从SCL3300迁移时的引脚兼容性真相,包括SPI时序、电源去耦等关键差异,并深入探讨了模式切换中超量程错误的复现原因与软件容错方案。同时,指导了如何根据应用场景配置低通滤波器,并给出了无自动唤醒功能下的可靠电源与长线SPI通信管理策略。

weixin_29190573的博客 291

软考中级信息系统监理师(第二版)-第21章基础设施工程监理

由于网络信息技术的飞速发展,变化日新月异,网络设计不但要保证目前网络传输容量的要求,也要考虑今后网络的发展,满足当前以及今后相当一段时间内的网络需求,便于向新技术的升级和衔接,同时又需要保护原有的投资。通用布缆系统工程中,承建单位的竣工文档主要包括以下内容:承建合同,招标文件,投标文件,设计方案,工程实施组织设计方案,工程施工报告,隐蔽工程记录,变更记录,自测报告,信息点分布图(表),园区、楼宇、水平配线表,楼层平面图及无线设备点位图,无线设备信息表,竣工图纸等。多排安装时,列间距不应小于1200mm。

2301_78583973的博客 1400

C语言日志库zlog的简单配置及使用

zlog的简单配置及使用

weixin_46245859的博客 7142

三端口DC-DC变换器设计与光伏储能协同控制

三端口DC-DC变换器是面向分布式能源系统的关键功率变换拓扑,通过在光伏输入、储能电池与直流负载三个端口间实现动态能量分配,解决多源异步供电下的电压稳定与功率平衡问题。其核心原理基于双Boost半桥架构与双闭环协同控制,融合MPPT最大功率点跟踪与电池智能充放电管理,在保证30V高精度稳压(±0.5V)的同时,支持光伏主导供电与电池支撑供电的自动模式切换。该技术显著提升光储系统能量利用率与供电连续性,广泛应用于微电网、便携式交直流电源及离网型光储一体机等场景,是构建柔性直流配电与智能能源管理的基础硬件单元。

weixin_36431814的博客 140

通过find命令删除n天前文件

通过find命令删除n天前文件

xealous的博客 1523

Starlink卫星动力学系统仿真建模前传1-时空系统介绍

对于在轨道上运动的航天器由于速度接近第一宇宙速度,为了获取准确的位置信息对时间的精度要求极高,为了准确描述航天器的运动规律,本节对卫星仿真建模中用到的各种时间系统进行介绍。卫星轨道平面为坐标平面,坐标原点位于卫星系统质心,轴由卫星系统质心指向地心(当地垂线),轴在轨道面内垂直于轴并指向卫星的前进方向,轴同、轴构成右手系,指向轨道面负法线方向。不同坐标系下的建立的运动形式与复杂程度不同,会直接影响运动方程的求解繁简程度,因此,选取适当的坐标系具有重要的意义。定义星体坐标系,该坐标系简记为系,与卫星本体固连。

xspace的博客 1432

linux驱动由浅入深系列:块设备驱动之一(高通eMMC分区实例)

linux驱动由浅入深系列:块设备驱动之一(高通eMMC分区实例)linux驱动由浅入深系列:块设备驱动之二(块设备驱动结构分析)块设备驱动的模型还是基本基于字符设备驱动的,可以简单理解为块设备仅仅增加了操作缓冲区,对用户请求顺序进行队列重拍等等。字符设备驱动的相关分析可以查看本博客相关的博文。 按照本博客的行文习惯,在具体分析块设备驱动代码之前,我们会从整体上了解一下研究对象的特征,以及用户空间...

Radia的专栏 1万+

linux oracle 清空log.xml,如何删除ArchiveLog(Oracle 归档日志)

当ORACLE 归档日志满了后,将无法正常登入ORACLE,需要删除一部分归档日志才能正常登入ORACLE。一、首先删除归档日志物理文件,归档日志一般都是位于archive目录下,AIX系统下文件格式为“1_17884_667758186.dbf”,建议操作前先对数据库进行备份,删除时至少保留最近几天的日志用于数据库恢复。二、把归档日志的物理文件删除后,我们就可以正常登入ORACLE了,但是还没完...

weixin_32647107的博客 1403

优化算法 | 赏金猎人优化算法(Bounty Hunter Optimizer, BHO)及其在多无人机移动边缘计算与路径规划中的应用(附matlab源代码)

移动边缘计算(Mobile Edge Computing, MEC)通过将计算资源下沉至网络边缘,有效解决了物联网终端设备计算能力不足与能耗受限的问题。无人机(Unmanned Aerial Vehicle, UAV)因其高机动性、灵活部署和广域覆盖等优势,被广泛用作MEC的移动服务器平台。多无人机辅助MEC系统的核心优化问题在于:如何在满足任务处理时延约束和无人机能量限制的前提下,联合优化无人机的三维飞行轨迹、任务卸载决策与计算资源分配,以最小化系统总能耗或最大化任务完成效率。

尘世冰封的专栏 223

如何删除ArchiveLog(Oracle 归档日志)

如何删除Archivelog 当ORACLE 归档日志满了后,将无法正常登入ORACLE,需要删除一部分归档日志才能正常登入ORACLE。 一、首先删除归档日志物理文件,归档日志一般都是位于archive目录...

chunrenrong2587的博客 916

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

validateion_failed_for_archived_log处理

近几天一个小机节点的archive空间老是100%,手工删除了一下,后来发现rman 备份失败了 查了一下资料发现删除后没有进行crosscheck 记录过程如下: 1、rman target / 2、crosscheck archivelog all; 发现 validation failed for archived log 错误 3、delete expired archivelo

TheoGo的专栏 1877

ssm框架搭建

这个是一个在idea上成功跑起来的ssm框架项目,保存在这里方便以后使用直接下载

MySQL 大量日志的清理方法

MySQL server运行有1年多时间,最近无法正常运行,启动也失败,后来检查了一下日志,发现没有空间写日志,只好找清理日志的方法,本来想直接删除那些日志,可是仔细一想,这些日志都是严格编号的,万一删除一个,导致mysql无法运行岂不误事。在网上search一下发现很多人都有同样的问题,现在把这些解决方便抄录过了,供大家参考。      我最后执行如下命令,就是只保留最近3天的日志,

russle的专栏 2万+

lwip-2.0.3

lwip是瑞典计算机科学院(SICS)的Adam Dunkels 开发的一个小型开源的TCP/IP协议栈。实现的重点是在保持TCP协议主要功能的基础上减少对RAM 的占用。

C#记录日志,日志记录,记录本地日志,轻量高性能LogHelpter,不依赖第三方

C#记录日志,记录本地日志,LogHelpter

u011511086的专栏 9937

Mysql主从同步mysql-bin的log文件过大资源占满(mysql服务器资源爆满)

问题描述: mysql服务器爆满,资源全部都占用满了,导致页面很卡,什么都无法操作。 执行free -h命令查看缓存使用情况。 执行df -h命令查看硬盘使用情况。 mysql的数据存储目录home,内存使用free,cache,各个资源都爆满了!!! 解决方法 先找到大文件目录: 执行du -h命令,每次会显示最大的文件目录,进入目录再次执行du -h,依次找到占用空间最大的目录(与数据库名字一致的文件夹不用看) 到目录下执行ll命令,查看文件信息。 发现很多mysql-bin.xxxx的文件,这是

Java全栈领域/离线地图/微服务 3284

[Ubuntu查看所有已安装的软件]利用日志查看安装过\卸载过哪些包

dpkg -l | less可以输出整个电脑所有的已安装的包,但是非常杂,乱七八糟的库全在里面了,达不到我们想知道电脑里装了哪些软件的目的,接下来介绍日志的使用方法,来达到查询现有包的目的. 一般来说,在ubuntu中最常用的软件安装方式有apt install和dpkg -i两种.有时也会使用yum进行安装. 要查询装过哪些包其实很简单,因为每个安装途径会有自己的执行命令历史记录,这些操作的记录会以日志的形式自动保存在/var/log里面,进入这个文件夹: cd /var/log ls -l 圈出来的

coolsmartboy的博客 1万+

linux crontab 恢复,crontab 误删除恢复

操作过程中:crontab被全部干掉了,利用log恢复过程记录。事故原因分析:回忆自己操作过程中,未进行crontab的清空,网上查了下原因,并且复现了下。可能原因如下:如果在SSH远程终端中敲下“crontab”命令之后,远程连接被一些原因(比如 糟糕的网络,程序异常)意外终止了,那么Crontab计划任务就会被操作系统所清空。听起来很不可思议,但是经过在虚拟机上的多次测试,它确确实实的发生了。...

weixin_39777967的博客 575

mysql myd文件过大_Mysql数据文件大小超过4G了如何缩小优化

Mysql数据文件大小超过4G了如何缩小优化?现象:前两天发现4区的数据表查不到近几天的数据,查了很多原因log_manager和log_agent都运行正常,程序肯定没问题,对比了其他区的情况,一切正常,怎么会这样呢?奇怪,难道是数据库出问题了?解决:进入数据表 输入” ls -lth |grep G ” 察看所有大小过G的文件,发现4区的tableName.MYD竟然达到了4G已经达到了单表大...

weixin_39791349的博客 1182

DAMO-YOLO部署教程:Logrotate日志轮转配置防止service.log无限增长

本文介绍了如何在星图GPU平台上自动化部署“实时手机检测-通用”镜像,并配置Logrotate日志轮转以管理服务日志。该镜像基于DAMO-YOLO模型,能够实现高精度的实时手机检测,适用于安防监控、设备管理等场景,有效防止日志文件无限增长,保障服务稳定运行。

weixin_42601134的博客 860

SVN解决不能查看最近提交日志的问题

TortoiseSVN-setting-Log Caching-Cached Repositories => Cached Repositoried,删除对应的url记录(已测可行)现象:在show log的时候,不能看到截止到几天前的日志,也不能看到最近几天的日志 , 出现原因不明,感觉像是修改了系统的时间后,进行了更新/提交的操作。

zhaozhangxiao2的博客 1005

Linux定期清理指定目录下的文件

嗯,用户想定期清理Linux指定目录下的日志文件,这个需求很常见。首先需要确定用户的环境,比如他们用的是哪种Linux发行版,是否有权限设置定时任务。最后,使用cron来设置定时任务,比如每天凌晨执行一次。同时,用户可能需要验证脚本的正确性,可以先手动运行测试,再添加到cron中。此外,提醒用户备份重要日志,或者使用logrotate这样的工具来更专业地管理日志轮转,可能也是一个好建议。通过上述方法,可安全、自动化地管理Linux系统中的日志文件清理任务。对于系统或服务的标准日志文件,建议使用。

smile2it的博客 979

crontab 误删除恢复

操作过程中:crontab被全部干掉了,利用log恢复过程记录。 事故原因分析: 回忆自己操作过程中,未进行crontab的清空,网上查了下原因,并且复现了下。可能原因如下: 如果在SSH远程终端中敲下“crontab”命令之后,远程连接被一些原因(比如 糟糕的网络,程序异常)意外终止了,那么Crontab计划任务就会被操作系统所清空。听...

weixin_33713707的博客 598

分析和存储日志

syslog 消息是按照 syslog 协议生成和传输的日志消息。这些消息包含了日志的来源、日志的级别以及具体的日志内容。syslog 消息通常由 syslog 守护进程收集、处理和存储。许多系统服务和应用程序默认会使用 syslog 来记录它们的活动,例如网络服务、系统守护进程等。非 syslog 消息是指那些不遵循 syslog 协议生成和传输的日志消息。一些应用程序可能会有自己独立的日志记录机制,将日志信息直接写入特定的文件,而不通过 syslog 守护进程。

m0_65643526的博客 1239
上一篇: 获取EXE文件版本信息(版本格式:xx.xx.xx.xx)
下一篇: 监控Windows系统音量变化通知
Eleven
博客等级 码龄19年 4918粉丝 75原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值