定期清理linux服务器日志文件的几个思路

定期清理linux服务器日志文件的几个思路,第1张

定期清理linux服务器日志文件的几个思路

1,在跑批程序中,用java代码调用shell脚本;

2,在跑批程序中,用纯java代码实现,也就是使用java的文件操作类File;

3,纯shell脚本方式,使用linux服务器的调度程序调用shell脚本;

结合最近的项目,这里提供一个示例。首先,我们是在跑批项目中实现的定期清理日志功能,

因为我们有跑批项目,使用的是Control M进行调度,所以这种方式还是很方便的。

第一步:写shell脚本

find /home/logs/ -mtime +30 -name "log" -exec rm -rf {} \;

脚本其实很简单,一行代码就够了,把这个代码放在一个shell文件中,然后放在服务器的

指定目录下,等待java程序调用。

第二步:写java代码,调用shell脚本,示例代码仅提供思路,请大家自己调试

// 设置可执行权限

String commond = "chmod 777 clearLogFileOnTimesh";

Process proc = RuntimegetRuntime()exec(commond);

procwaitFor(); 

// 执行shell脚本

commond = "bash clearLogFileOnTimesh";

proc = RuntimegetRuntime()exec(commond);

第三步:配置Control M,进行作业调度

关于Control M的配置不再赘述,主要就是设置跑批程序的执行时间,以及一些其他参数。

如何收集Domino服务器日志

在论坛已久,发现用户提交问题,太过于简单,很多就是说明现象,不太便于分析和理解。

来论坛发帖大部分都是Domino管理员和开发者,希望更加细致和专业,同时提高自己分析能力。

以下来自ibm的邮件或者帮助:

1 当Windows平台上服务器挂起(非HTTP)时,收集数据的流程:

1 在服务器的控制台上输入

set config CONSOLE_LOG_ENABLED=1

set config DEBUG_THREADID=1

set config DEBUG_CAPTURE_TIMEOUT=1

set config DEBUG_SHOW_TIMEOUT=1

2 当服务器挂起,在Domino控制台上执行如下命令:

sh server

sh task debug

sh task time

sh user

sh stat

3 用Dos命令手工收集nsd日志,当nsd完成收集后,请在五分钟内执行'dump'命令对所有Domino服务器线程做另一个快照。

下面是如何收集nsd的提示:

I 打开一个dos命令窗口

II 进入domino data目录,例如"cd c:\lotus\domino\"

III 在Domino程序目录下执行nsd,例如"c:\lotus\domino\nsd"

当nsd运行结束,命令行中的提示符会更改为:

nsd>

IV 五分钟后执行dump命令,用来dump线程堆栈。在问题期内至少收集两次dump

V 退出Domino服务器,如果可以,可在Domino控制台输入'q'或者'quit'命令来退出Domino,如果服务器不能正常退出,就需要在"nsd>"提示符下用'kill'这个命令来杀掉所有Domino进程。

4 需要收集的数据有:

- nsd log, 文件名: nsd_<plaftform>_<ServerName>_date@timelog, date/time 应是nsd运行的时刻

- console log, 文件名: console_name_yyyy_mm_dd@hh_mm_sslog,the date/time 应是服务器最后一次启动的时刻

- SEMDEBUG txt, 文件名: SEMDEBUG_name_yyyy_mm_dd@hh_mm_ssTXT, the date/time 应是服务器最后一次启动的时刻

上面的文件位于Domino Data目录,IBM_TECHNICAL_SUPPORT 子目录

2 Lotus Traveller服务器日志收集

收集服务器日志

本主题包含有关收集日志文件和信息以协助 Lotus Notes® Traveler 支持人员解决服务器安装、启动和运行时问题的指示信息。

提高记录级别

执行以下操作,为 Lotus Notes Traveler 服务器任务提高记录级别、增加日志文件大小和最大活动日志文件数。请注意,可能不必增加日志文件大小或最大活动文件数。

在 IBM® Lotus® Domino® Administrator 中,打开 Lotus Notes Traveler 服务器的服务器配置文档。

在文档中单击 Lotus Traveler 选项卡,然后单击编辑服务器。

将记录级别更改为最详细。

将活动日志的最大文件大小更改为所需的最大文件大小。

将最大活动日志文件数更改为所需的最大活动日志数。

保存并关闭服务器文档。

等几分钟让更改生效,然后重现问题。

注: 还可以为每个用户逐个设置记录以节约输入/输出空间和带宽。有关记录命令的详细信息,请参阅控制台命令。

收集日志

以下文件和目录包含记录或配置信息,这些信息在对服务器启动/运行时问题进行故障诊断时很有用。以 Zip 或 tar 格式压缩下面指定的所有文件和目录。当指示目录时,包括整个目录。

\Lotus\Domino\notesini

\Lotus\Domino\data\servletsproperties

\Lotus\Domino\data\traveler\cfg\

\Lotus\Domino\data\traveler\logs\

如果问题涉及在创建 \traveler 目录前安装失败,请提供以下临时日志(如果存在):%TEMP%\Idatetime\Windows\NTSInstalllog(例如 C:\Documents and Settings\Administrator\Local Settings\Temp\I1206535899\Windows\NTSInstalllog)。

如果问题涉及 Domino 服务器崩溃,另请提供以下日志:

用于捕获崩溃的 NSD 日志,位于 \Lotus\Domino\data\IBM_TECHNICAL_SUPPORT\NSDdatetimelog 中

Javacore 文件,根据具体安装情况,其位置可能会有不同,但或许能在 \Lotus\Domino\javacoredatetimetxt 中找到

注: 为了不影响性能,在收集日志并解决问题后,建议您将日志级别恢复到原来的设置。

二 以上主要收集的是服务器日志,Notes客户端也是类似

本地存在lognsf,同时在数据目录下也存在:

data\IBM_TECHNICAL_SUPPORT\

和服务器类似,同样用来分析Notes客户端问题。

DABAN RP主题是一个优秀的主题,极致后台体验,无插件,集成会员系统
网站模板库 » 定期清理linux服务器日志文件的几个思路

0条评论

发表评论

提供最优质的资源集合

立即查看 了解详情