日志清理脚本
Ⅰ 定时删除7天前的日志的shell脚本,目录/data/logs,日志文件currentServer.currRabbitmq.2017-11-21.log;
atime:访问时间(access time),指的是文件最后被读取的时间,可以使用touch命令更改为当前时间;
ctime:变更时间(change time),指的是文件本身最后被变更的时间,变更动作可以使chmod、chgrp、mv等等;
mtime:修改时间(modify time),指的是文件内容最后被修改的时间,修改动作可以使echo重定向、vi等等;
是ctime还是mtime你自己定,写入计划任务/etc/crontab,每天凌晨3点执行
0 3 * * * root find /data/logs -name "*.log" -ctime +7 -exec rm -f {} \;
Ⅱ shell定期删除日志脚本
脚本如下:
#!/bin/bash
# vim /etc/cron.d/backup
#Author:xxxx
#Date:20140619
PATH=/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin:~/bin
export PATH
DIR="/tmp/logs"
file_num=`find $DIR/*.log.* -mtime +1 |wc -l`
echo "have $file_num file"
find $DIR/*.log.* -mtime +1 |xargs rm -rf {} \; >/dev/null 2>&1
====================================================
上面脚本能完成你的要求
一定要照你的脚本写,没有测试,你自己修改一下,思路是这样的。
上面的直接用Find找到文件的修改时间,直接定位文件删除。
下面这个匹配文件中的名字中包含指定时间的文件,条件为真,删除。
计算加1.
你自己写的时间匹配有问题好像。
++++++++++++++++++++++++++++++++++++
tianshu=1
m=0
sj=`date +%Y%m%d -d -${tianshu}day`
for i in `ls *.log.*`
do
echo $i |grep ”$sj“ && rm -f $i
if [ $? = 0 ];then
m++
fi
done
echo $m
Ⅲ 定期清理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的配置不再赘述,主要就是设置跑批程序的执行时间,以及一些其他参数。
Ⅳ 一键清理垃圾文件bat怎么做
1 30秒清除你电脑中的垃圾(使你电脑急速如飞)(高手已测)
要轻松流畅上网你是否注意到你的电脑系统磁盘的可用空间正在一天天在减少呢?是不是像老去的猴王一样动作一天比一天迟缓呢?
没错!在Windows在安装和使用过程中都会产生相当多的垃圾文件,包括临时文件(如:*.tmp、*._mp)日志文件(*.log)、临时帮助文件(*.gid)、磁盘检查文件(*.chk)、临时备份文件(如:*.old、*.bak)以及其他临时文件。特别是如果一段时间不清理IE的临时文件夹“Temporary Internet Files”,其中的缓存文件有时会占用上百MB的磁盘空间。这些LJ文件不仅仅浪费了宝贵的磁盘空间,严重时还会使系统运行慢如蜗牛。这点相信你肯定忍受不了吧!所以应及时清理系统的LJ文件的淤塞,保持系统的“苗条”身材,轻松流畅上网!朋友来吧,现在就让我们一起来快速清除系统垃圾吧!!下面是步骤很简单就两步!
在电脑屏幕的左下角按“开始→程序→附件→记事本”,把下面的文字复制进去(黑色部分),点“另存为”,路径选“桌面”,保存类型为“所有文件”,文件名为“清除系统LJ.bat”,就完成了。记住后缀名一定要是.bat,ok!你的垃圾清除器就这样制作成功了!
双击它就能很快地清理垃圾文件,大约一分钟不到。
======就是下面的文字(这行不用复制)=============================
@echo off
echo 正在清除系统垃圾文件,请稍等......
del /f /s /q %systemdrive%\*.tmp
del /f /s /q %systemdrive%\*._mp
del /f /s /q %systemdrive%\*.log
del /f /s /q %systemdrive%\*.gid
del /f /s /q %systemdrive%\*.chk
del /f /s /q %systemdrive%\*.old
del /f /s /q %systemdrive%\recycled\*.*
del /f /s /q %windir%\*.bak
del /f /s /q %windir%\prefetch\*.*
rd /s /q %windir%\temp & md %windir%\temp
del /f /q %userprofile%\cookies\*.*
del /f /q %userprofile%\recent\*.*
del /f /s /q "%userprofile%\Local Settings\Temporary Internet Files\*.*"
del /f /s /q "%userprofile%\Local Settings\Temp\*.*"
del /f /s /q "%userprofile%\recent\*.*"
echo 清除系统LJ完成!
echo. & pause
=====到这里为止(这行不用复制)==============================================
以后只要双击运行该文件,当屏幕提示“清除系统LJ完成!就还你一个“苗条”的系统了!!到时候再看看你的电脑,是不是急速如飞呢?可别忘了回帖喔!
注:LJ就是垃圾的意思!这招比那些所谓的优化大师好用!最重要的是无论在公司默认的系统环境还是在自己家中的电脑都不会破坏系统文件
做人要厚道,成功后别忘了顶一下!!!好让让更多的人知道,忘了顶的人马上死机...哈哈
绝对原创
Ⅳ linux 清除前一天日志的脚本
Linux有正常的日志的轮替,即:把现在的日志重命名然后再产生新的日志文件,可以利用这个原理来清空当前的日志文件,而不会导致以前的日志流失!这样的话你可以设置你的日志文件为每天一轮换,则当前日志文件内的信息就是今天的日志!
vi/etc/logrotate.conf 把其中的weekly或者monthly改为dayly就行!
Ⅵ 管家婆分销 登陆后提示 系统异常请确认 附截图
可尝试清理数据库日志
SQL2008清理数据库日志文件
首先,清理数据库日志文件的脚本是这样的。
其次,需要清理的数据库日志文件有多大,可以在SQL Server Management Studio看到:
鼠标右键点击对应的数据库,选择属性,在“文件”这个标签下就能看到日志文件大小。
现在开始清理:
打开SQL ServerManagement Studio。
连接上数据库服务器后,新建查询。新建查询的方式有两种,结果都是一样的。
第一步:新建查询。
1:右击需要进行清理的数据库,选择“新建查询”。
或者,
2:点击“新建查询”,然后在下方选择需要处理的数据库。
第二步:录入查询脚本。
以打开或者手工录入的形式,将脚本文件内容输入进去。
最后是这样一个情况,请注意左上的数据库名。
第三步:开始清理。
接下来将脚本中的“数据库名”更换为需要清理的数据库的名字。因为我的数据库名字中有特殊字符“-”,所以需要用到“[”“]”。如果您的数据库名称第一位是数字,也需要这么处理。
点击执行:
接下来出现了这个:
切换到“结果”:
将这里的数据库Name填写进刚才的脚本中。
再次执行。
完成收工。
Ⅶ 需要用shell写一个清空正在使用的日志的脚本,
有个最简单的办法,假设文件是/var/log.txt
echo > /var/log.txt
这样文件就清空了
Ⅷ 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下,清除日志的脚本。帮帮忙。
#!/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&