二、 分析日志
查看日志路径和日志命名规则:
要清理这个目录下面如此命名规则的日志。
三、方法
这时我想的肯定是希望能写一个脚本把这些日志清除掉,但不是删除掉。那么现在需要实现3步:
1.找到所有项目的log的位置
2.清除或者删除log内容
3.定时执行脚本
删除和清空日志命令:
find 对应目录 -mtime +天数 -name "文件名" -exec rm -rf {} \
实例命令:
find /opt/soft/log/ -mtime +7 -name "*.log" -exec rm -rf {} \
说明:
将/opt/soft/log/目录下所有7天前带".log"的文件删除。具体参数说明如下:
find:linux的查找命令,用户查找指定条件的文件;
/opt/soft/log/:想要进行清理的任意目录;
-mtime:标准语句写法;
+7:查找7天前的文件,这里用数字代表天数;
"*.log":希望查找的数据类型,"*.jpg"表示查找扩展名为jpg的所有文件,"*"表示查找所有文件,这个可以灵活运用,举一反三;
-exec:固定写法;
rm -rf:强制删除文件,包括目录;
{} \ :固定写法,一对大括号+空格+\+
清空方法:
find /opt/soft/log/ -mtime +7 -name "*.log" -type f -print -exec truncate -s 0 {} \ ->将符合这样一个条件的文件查到出来并赋予它0M的大小。
-type f -print: 将符合的文件打印出来
truncate -s 0 aa.txt:意思是将aa.txt的大小变成0M,即把aa.txt的内容清空了
1、定期对重要文件系统扫描,并作对比,分析那些文件经常读写
#ls–lR/home>files.txt
#diff filesold.txt files.txt
通过分析预测空间的增长情况,同时可以考虑对不经常读写的文件进行压缩,以减少占用空间。
2、查看空间满的文件系统的inodes消耗
#df -i/home
如果还有大量inode可用,说明大文件占用空间,否则是可能大量小文件占用空间。
3、找出占用空间较大的目录
查看/home占用的空间
#du -hs/home
查看/home下占用空间超过1000m
#du |awk '$1>2000'
4、找出占用空间较大的文件
#find /homesize+2000k
5、找出最近修改或创建的文件
先touch一个你想要的时间的文件如下:
# touch-t 08190800 test
#find/home -newer test -print
6、删除系统日志等
删除生成core,mbox等文件
#find/ -name core|xargs rm -rf
删除日志
#rm -rf/var/log/*
7、对分区做链接
在有空间的分区,对没有空间分区做链接
#ln -s /home/usr/home
8、找出耗费大量的空间的进程
根据不同的应用,找出对应的进程,分析原因
9、检查并修复文件系统
#fsck -y/home
10、重启机器
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)