重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
定期清理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 clearLogFileOnTime.sh";
Process proc = Runtime.getRuntime().exec(commond);
proc.waitFor();
// 执行shell脚本
commond = "bash clearLogFileOnTime.sh";
proc = Runtime.getRuntime().exec(commond);
第三步:配置Control M,进行作业调度
关于Control M的配置不再赘述,主要就是设置跑批程序的执行时间,以及一些其他参数。
如果java需要控制台的数据会比较麻烦
不过java里面最好不要输出东西,否则屏幕会乱,不看的话可以类似:
java your-program 1/dev/null 2/dev/null
或者
java your-program 1out.log 2err.log
explorer-------打开资源管理器
Nslookup-------IP地址侦测器
logoff---------注销命令
tsshutdn-------60秒倒计时关机命令
lusrmgr.msc----本机用户和组
services.msc---本地服务设置
oobe/msoobe /a----检查XP是否激活
notepad--------打开记事本
cleanmgr-------垃圾整理
net start messenger----开始信使服务
compmgmt.msc---计算机管理
net stop messenger-----停止信使服务
conf-----------启动netmeeting
dvdplay--------DVD播放器
charmap--------启动字符映射表
diskmgmt.msc---磁盘管理实用程序
calc-----------启动计算器
dfrg.msc-------磁盘碎片整理程序
chkdsk.exe-----Chkdsk磁盘检查
devmgmt.msc--- 设备管理器
regsvr32 /u *.dll----停止dll文件运行
drwtsn32------ 系统医生
rononce -p ----15秒关机
dxdiag---------检查DirectX信息
regedt32-------注册表编辑器
Msconfig.exe---系统配置实用程序
rsop.msc-------组策略结果集
mem.exe--------显示内存使用情况
regedit.exe----注册表
winchat--------XP自带局域网聊天
progman--------程序管理器
winmsd---------系统信息
perfmon.msc----计算机性能监测程序
winver---------检查Windows版本
sfc /scannow-----扫描错误并复原
taskmgr-----任务管理器(2000/xp/2003
winver---------检查Windows版本
wmimgmt.msc----打开windows管理体系结构(WMI)
wupdmgr--------windows更新程序
wscript--------windows脚本宿主设置
write----------写字板
winmsd---------系统信息
wiaacmgr-------扫描仪和照相机向导
winchat--------XP自带局域网聊天
mem.exe--------显示内存使用情况
Msconfig.exe---系统配置实用程序
mplayer2-------简易widnows media player
mspaint--------画图板
mstsc----------远程桌面连接
mplayer2-------媒体播放机
magnify--------放大镜实用程序
mmc------------打开控制台
mobsync--------同步命令
dxdiag---------检查DirectX信息
drwtsn32------ 系统医生
devmgmt.msc--- 设备管理器
dfrg.msc-------磁盘碎片整理程序
diskmgmt.msc---磁盘管理实用程序
dcomcnfg-------打开系统组件服务
ddeshare-------打开DDE共享设置
dvdplay--------DVD播放器
net stop messenger-----停止信使服务
net start messenger----开始信使服务
notepad--------打开记事本
nslookup-------网络管理的工具向导
ntbackup-------系统备份和还原
narrator-------屏幕“讲述人”
ntmsmgr.msc----移动存储管理器
ntmsoprq.msc---移动存储管理员操作请求
netstat -an----(TC)命令检查接口
syncapp--------创建一个公文包
sysedit--------系统配置编辑器
sigverif-------文件签名验证程序
sndrec32-------录音机
shrpubw--------创建共享文件夹
secpol.msc-----本地安全策略
services.msc---本地服务设置
Sndvol32-------音量控制程序
sfc.exe--------系统文件检查器
sfc /scannow---windows文件保护
tsshutdn-------60秒倒计时关机命令
tourstart------xp简介(安装完成后出现的漫游xp程序)
taskmgr--------任务管理器
eventvwr-------事件查看器
eudcedit-------造字程序
explorer-------打开资源管理器
packager-------对象包装程序
perfmon.msc----计算机性能监测程序
progman--------程序管理器
regedit.exe----注册表
rsop.msc-------组策略结果集
regedt32-------注册表编辑器
rononce -p ----15秒关机
regsvr32 /u *.dll----停止dll文件运行
regsvr32 /u zipfldr.dll------取消ZIP支持
cmd.exe--------CMD命令提示符
chkdsk.exe-----Chkdsk磁盘检查
certmgr.msc----证书管理实用程序
calc-----------启动计算器
charmap--------启动字符映射表
cliconfg-------SQL SERVER 客户端网络实用程序
Clipbrd--------剪贴板查看器
conf-----------启动netmeeting
compmgmt.msc---计算机管理
cleanmgr-------垃圾整理
ciadv.msc------索引服务程序
osk------------打开屏幕键盘
odbcad32-------ODBC数据源管理器
oobe/msoobe /a----检查XP是否激活
lusrmgr.msc----本机用户和组
logoff---------注销命令
iexpress-------木马捆绑工具,系统自带
Nslookup-------IP地址侦测器
fsmgmt.msc-----共享文件夹管理器
utilman--------辅助工具管理器
gpedit.msc-----组策略
首先,配置成每天生成的话,.log文件的路径是不会改变的,比如,日志文件是log.log,那么这个文件在第二天会被备份为2013-01-07.log,但是同时会再生成一个log.log文件,所以不会影响你的路径
其次,如果这个日志文件一直被系统在添加日志的话,那么该文件应该是被加锁的,其他程序只能读不能修改和删除,所以如果该情况下你一定要隔几天清空一次,一是修改生成日志的系统,让其定时清除日志文件内容,二是写脚本或程序,先停掉系统,再清空日志,然后重启系统。这种方法,不建议采用。
强烈建议,采用第一种方法,然后修改你的读取日志的程序,每天读取一下前一天生成的日志文件内容就可以了,因为备份文件是用日期命名的,利用这个规律,很容易就可以获取到要读取的文件名了