清理日志脚本
Ⅰ 定期删除TOMCAT日志文件
定期删除TOMCAT日志文件,参考代码如下:
java">#!/bin/bash
#清理tomcat日志的脚本
#日志大小限制设置(1M字节),超出即清理
LOG_FILE_SIZE=1024000
#定义日志文件位置
logs=(/srv/tomcat6/logs/catalina.out/usr/share/tomcat6/logs/catalina.out)
forffin"${logs[@]}";
do
#文件大小
size=0
if[-f$ff]
then
#取得日志文件大小值
size=`ls-l$ff|awk'{print$5}'`
fi
#进行判断
if["$size"0-gt"$LOG_FILE_SIZE"0]
then
echo开始清理:"$ff",大小="$size"
true>$ff
fi
done
#清理完成
echo清理日志完成!
Ⅱ 哪位帮忙看看linux或者IBM AIX删除db2_log日志的脚本
获得首日志及清理方法如下
su - db2admin
db2 connect to 数据库名 user db2admin using db2admin
db2 get db cfg|grep -E 'First active log file'|awk '{ print $6 }'|read LOGFILENAME
db2 prune logfile prior to $LOGFILENAME
db2 connect reset
但以上方法存在巨大的风险,如果确定日志没有用,可以采用循环日志模式,也不需要手工清理。
如果一定要用脚本方式,可以用以下脚本
find 日志路径 -name "*.LOG" -ctime +3|xargs rm
Ⅲ Linux 系统 shell脚本定时 清空系统日志文件
其实没有必要写shell脚本,简单一句话放在系统定时任务里就行了。
比如你的日志文件名叫a.log。路径为/tmp/a.log;
那么你可以写个定时任务,这样做:crontab -e 进入定时任务器,然后把下面这段写到里面
00 02 * * * echo " " >/tmp/a.log
然后保存退出就可以了。这段内容意思是,每天凌晨2点自动清空a.log内容。你也可以自己定义多久清一次。比如想10分钟清一次,就这么写*/10 * * * * echo " " >/tmp/a.log。具体的crontab时间定义你可以去网络查查。希望对您有用!
Ⅳ 求助linux清理程序日志的脚本
我感觉应该是这样的.
取到今天的日期,然后减一天,然后格式化成你的日志文件名中的日期格式
假设为A
最后执行rm "*$A*" -f
Ⅳ 需要用shell写一个清空正在使用的日志的脚本,
有个最简单的办法,假设文件是/var/log.txt
echo > /var/log.txt
这样文件就清空了
Ⅵ sqlServer 如何自动清理日志文件
数据库日志文件是随着时间增长而增长的,如果长时间不清理,文件会变得特别大,因此需要定期清空,但是日至文件是恢复数据库的重要依据,不用日志文件也是不明智的。手工清除单个数据库的还好说,但数据库多了,或者临时没有来得及清理,可能硬盘空间就会占满了,影响访问。因此设置自动清理数据库日志文件还是比较实用的。
手动清理方法:右键单击需要清理的数据库,选择“属性”,在“选项”卡上,把故障还原模型设定为简单,确定后关闭;再右键单击该数据库,“所有任务”-“收缩数据库”,确认后即可清除日志文件,最后记得重新选择“属性”,将故障还原模型设置为完全。
自动清理方法:利用sql server代理服务,执行自动作业。
打开企业管理器,进入“管理”-“sql server代理服务”-“作业”,在右侧窗口点击右键,选择“新建作业”。“常规”选项卡中,填写作业名称,具体
上边的数据库名称填写需要维护的数据库名称,数据库日志文件名填写其对应的日志文件名,注意,不是资源管理器里看到的带后缀名的那个名字,而是企业管理器里,数据库属性里日志选项卡中日志的名字(通常也只是差一个后缀名……),确定后添加一个作业步骤。 如果需要维护多个数据库,用上述方法重复添加作业步骤,注意每个步骤成功或失败后的动作即可,最后选择一下开始的步骤。
在“调度”选项卡中,类似备份的维护计划,填写调度周期,即定期清理的周期,不再细述。如果需要,可以在最后的“通知”选项卡上设置作业完成后的通知项,需要设置操作员,以及设置相应的服务,这里也不具体说明了,通常不用……
Ⅶ sql2000自动设置清除日志的具体方法如何操作
数据库日志文件是随着时间增长而增长的,如果长时间不清理,文件会变得特别大,因此需要定期清空,但是日至文件是恢复数据库的重要依据,不用日志文件也是不明智的。手工清除单个数据库的还好说,但数据库多了,或者临时没有来得及清理,可能硬盘空间就会占满了,影响访问。因此设置自动清理数据库日志文件还是比较实用的。
手动清理方法:右键单击需要清理的数据库,选择“属性”,在“选项”卡上,把故障还原模型设定为简单,确定后关闭;再右键单击该数据库,“所有任务”-“收缩数据库”,确认后即可清除日志文件,最后记得重新选择“属性”,将故障还原模型设置为完全。
自动清理方法:同样是利用sql
server代理服务,执行自动作业。
打开企业管理器,进入“管理”-“sql
server代理服务”-“作业”,在右侧窗口点击右键,选择“新建作业”。“常规”选项卡中,填写作业名称,具体描述,注意所有者最好还是用sa或者默认的管理帐号。
转到“步骤”选项卡,新建作业步骤,填写步骤名称,类型为脚本,数据库为需要清理日志的数据库,在下边命令中填写以下命令:
Sql代码
1.
DUMP
TRANSACTION
数据库名称
WITH
NO_LOG
DBCC
SHRINKFILE(数据库日志文件名,1)
或者使用
2.
DUMP
TRANSACTION
DBName
WITH
NO_LOG
BACKUP
LOG
DBName
WITH
NO_LOG
DBCC
SHRINKDATABASE(DBName
)
DBCC
SHRINKFILE(1)
Ⅷ LINUX下,清除日志的脚本。帮帮忙。
#!/bin/bash
#SystemDate
date=$(date +%Y%m%d)
source_url=日志现存路径
target_url=将原日志备份的路径
cp $source_url/logname $target_url/logname_$date
cat /dev/null > $source_url/logname
原日志需要以>>方式输出到logname
例:命令>>logname&
Ⅸ 定期清理linux服务器日志文件的几个思路
定期清理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的配置不再赘述,主要就是设置跑批程序的执行时间,以及一些其他参数。
Ⅹ linux 清除前一天日志的脚本
Linux有正常的日志的轮替,即:把现在的日志重命名然后再产生新的日志文件,可以利用这个原理来清空当前的日志文件,而不会导致以前的日志流失!这样的话你可以设置你的日志文件为每天一轮换,则当前日志文件内的信息就是今天的日志!
vi/etc/logrotate.conf 把其中的weekly或者monthly改为dayly就行!

