linux 删除日志脚本
2016-02-04 10:37
567 查看
线上有一个日志系统,放在/data/log目录,有时候出现磁盘空间不足的情况,所以写了一个脚本,删除前一天的日志文件。
内容如下:
#!/bin/bash
eve=`date -d "1 day ago" +"%Y%m%d"`
startime=`date +%Y-%m-%d" "%H:%M:%S`
echo "######################################" >> /opt/clean_log.log
echo "$startime 开始删除文件/data/log/messages-$eve" >> /opt/clean_log.log
rm -rf /data/log/messages-$eve
if [ ! -e /data/log/messages-$eve ];then
echo "删除成功" >> /opt/clean_log.log
else
echo "删除失败" >> /opt/clean_log.log
fi
startime=`date +%Y-%m-%d" "%H:%M:%S`
echo "$startime 开始切割文件/var/log/message" >> /opt/clean_log.log
cd /var/log/
mv -f messages messages-$eve
if [ -e /var/log/messages-$eve ];then
echo "切割成功" >> /opt/clean_log.log
else
echo "切割失败" >> /opt/clean_log.log
fi
/etc/init.d/rsyslog restart >> /dev/null
if [ `echo $?` -eq "0" ];then
echo "重启rsyslog服务成功" >> /opt/clean_log.log
else
echo "重启rsyslog服务失败" >> /opt/clean_log.log
fi
startime=`date +%Y-%m-%d" "%H:%M:%S`
echo "$startime 开始删除文件/var/log/message-$eve" >> /opt/clean_log.log
rm -rf /var/log/messages-$eve
if [ ! -e /var/log/messages-$eve ];then
echo "删除文件成功" >> /opt/clean_log.log
else
echo "删除文件失败" >> /opt/clean_log.log
fi
说明:
rm -rf删除的时候,不管文件是否存在
用 echo $? 判断的时候,始终都是0
所以用! -e $filename 判断文件不存在,就说明文件删除成功了。
/var/log/message是系统日志,虽然系统默认会自动切割,但不是每天都会切割。
所以脚本里面进行了切割。
一旦切割之后,message不会自动生成,需要重启rsyslog服务才会生成。
最后创建任务计划,每天晚上定期执行就可以了。
本文出自 “陨落星空” 博客,请务必保留此出处http://xiao987334176.blog.51cto.com/2202382/1741056
内容如下:
#!/bin/bash
eve=`date -d "1 day ago" +"%Y%m%d"`
startime=`date +%Y-%m-%d" "%H:%M:%S`
echo "######################################" >> /opt/clean_log.log
echo "$startime 开始删除文件/data/log/messages-$eve" >> /opt/clean_log.log
rm -rf /data/log/messages-$eve
if [ ! -e /data/log/messages-$eve ];then
echo "删除成功" >> /opt/clean_log.log
else
echo "删除失败" >> /opt/clean_log.log
fi
startime=`date +%Y-%m-%d" "%H:%M:%S`
echo "$startime 开始切割文件/var/log/message" >> /opt/clean_log.log
cd /var/log/
mv -f messages messages-$eve
if [ -e /var/log/messages-$eve ];then
echo "切割成功" >> /opt/clean_log.log
else
echo "切割失败" >> /opt/clean_log.log
fi
/etc/init.d/rsyslog restart >> /dev/null
if [ `echo $?` -eq "0" ];then
echo "重启rsyslog服务成功" >> /opt/clean_log.log
else
echo "重启rsyslog服务失败" >> /opt/clean_log.log
fi
startime=`date +%Y-%m-%d" "%H:%M:%S`
echo "$startime 开始删除文件/var/log/message-$eve" >> /opt/clean_log.log
rm -rf /var/log/messages-$eve
if [ ! -e /var/log/messages-$eve ];then
echo "删除文件成功" >> /opt/clean_log.log
else
echo "删除文件失败" >> /opt/clean_log.log
fi
说明:
rm -rf删除的时候,不管文件是否存在
用 echo $? 判断的时候,始终都是0
所以用! -e $filename 判断文件不存在,就说明文件删除成功了。
/var/log/message是系统日志,虽然系统默认会自动切割,但不是每天都会切割。
所以脚本里面进行了切割。
一旦切割之后,message不会自动生成,需要重启rsyslog服务才会生成。
最后创建任务计划,每天晚上定期执行就可以了。
本文出自 “陨落星空” 博客,请务必保留此出处http://xiao987334176.blog.51cto.com/2202382/1741056
相关文章推荐
- LVM逻辑卷镜像实现方法
- 利用securecrt在linux与windows之间传输文件
- linux svn使用方法
- Linux操作系统里查看所有用户
- Linux crontab定时任务
- Linux中常用操作命令
- Linux运维(man帮助手册)
- centos 5.6.2上不了网
- linux 命令 more
- linux命令学习之(ifconfig)
- 使用kdb和kgdb调试Linux内核(1)
- CentOS5.5上安装psycopg2
- 树莓派 CentOS 系统下载地址
- linux Socket 编程
- Linux 容器技术史话:从 chroot 到未来
- centos vmware centos6.6 64位 kvm虚拟化安装配置 第四十二节课
- Linux启动流程
- CentOS6.5下修改MySQL编码方法
- 【Linux】SVN的安装和配置
- 十指相扣:陪binderIPC度过的漫长岁月(3)