职业IT人-IT人生活圈

 找回密码
 成为会员
搜索
查看: 601|回复: 1

linux下日志占用空间过大的解决方法

[复制链接]
话说我当年 发表于 2011-9-17 11:32 | 显示全部楼层 |阅读模式
日志过大之后,如果每次都人工处理,是件很头疼的事情。这里介绍几种常用的方法,可使用简单的linux命令定时执行:

1.删除
时间比较早的日志觉得已经无用,删除即可。
这里以mysql的二进制日志为例:
Java代码  
find /data/mysql_data -maxdepth 1 -name "mysql-bin.0*" -ctime +15 -exec rm {} \;  

find /data/mysql_data -maxdepth 1 -name "mysql-bin.0*" -ctime +15 -exec rm {} \;/data/mysql_data是日志所在的文件夹
-maxdepth 1表示只查找指定的文件夹,而不包括子目录。如果不指定-maxdepth,表示包括子目录。
-name查找符合条件的文件名
-ctime +15表示查找创建时间是15天之前的
-exec rm {} \;表示对符合条件的文件进行删除
整个语句的意思是,只查找/data/mysql_data下(不包括子目录),名称以mysql-bin.0开头,且创建时间是15天前的文件,并删除它们。

2.打包压缩
最常用的方法。以tar.gz包为例:
Java代码  
tar --remove-files -czf adclick.2011-06.tar.gz adclick.2011-06*  

tar --remove-files -czf adclick.2011-06.tar.gz adclick.2011-06*
对以adclick.2011-06开头的所有文件,打包成adclick.2011-06.tar.gz,并删除原文件。
--remove-files表示删除原文件,很实用

3.转移
最常用的命令是rsync:
Java代码  
/usr/bin/rsync -vzrtopgu --progress --delete /home/logs/ 10.10.10.1::public/logs  

/usr/bin/rsync -vzrtopgu --progress --delete /home/logs/ 10.10.10.1::public/logs
对/home/logs下的所有文件以及文件夹,同步到10.10.10.1服务器的public/logs目录下。当然10.10.10.1需要开启rsync服务。

以上命令写到crontab中,省心省事。

会玩就好 发表于 2011-9-17 11:33 | 显示全部楼层
推荐链接
3G培训就业月薪平均7K+,不3K就业不花一分钱!
见证又一个准百万富翁的诞生!

20-30万急聘多名天才Java/MTA软件工程师

您需要登录后才可以回帖 登录 | 成为会员

本版积分规则

QQ|手机版|小黑屋|网站帮助|职业IT人-IT人生活圈 ( 粤ICP备12053935号-1 )|网站地图
本站文章版权归原发布者及原出处所有。内容为作者个人观点,并不代表本站赞同其观点和对其真实性负责,本站只提供参考并不构成任何投资及应用建议。本站是信息平台,网站上部分文章为转载,并不用于任何商业目的,我们已经尽可能的对作者和来源进行了通告,但是能力有限或疏忽造成漏登,请及时联系我们,我们将根据著作权人的要求立即更正或者删除有关内容。

GMT+8, 2024-5-4 00:10 , Processed in 0.142338 second(s), 20 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表