9、查看/var/log/目录下所有文件个数和占用磁盘空间
时间: 2023-05-23 10:04:25 浏览: 76
A:可以通过使用以下命令查看/var/log/目录下所有文件个数和占用磁盘空间:
```
ls -lR /var/log/ | grep "^-" | wc -l && du -sh /var/log/
```
该命令首先列出/var/log/目录下所有的文件和子目录,然后使用grep命令过滤出仅为文件的行,之后使用wc命令计算文件数量。同时,使用du命令来计算目录的占用磁盘空间,并使用选项“-s”来指定只汇总/var/log/目录的大小,选项“-h”可将结果以人类可读的形式输出。
相关问题
10、为避免log日志过多占用磁盘空间,删除/var/log下面7天前的旧日志文件
A:可以通过以下命令实现:
sudo find /var/log -type f -mtime +7 -delete
这会删除/var/log目录下7天前的所有文件。您可以将“+7”更改为需要的天数来控制删除的文件范围。请注意,这可能会删除您需要保留的重要日志文件,因此在执行此命令之前,请确保您知道自己要做什么。
/var/log/daemon.log logrotate的方式进行每天清理
你可以使用logrotate来进行每天的日志清理。logrotate是一个Linux系统中的工具,用于管理日志文件的轮转和压缩。它可以根据预设的规则定期轮转日志文件,以避免日志文件过大占用过多磁盘空间。
要使用logrotate进行每天的日志清理,你需要创建一个logrotate配置文件。在这个配置文件中,你可以指定要轮转的日志文件、轮转的频率以及其他相关的设置。
以下是一个示例的logrotate配置文件,假设你要清理的日志文件是/var/log/daemon.log:
```
/var/log/daemon.log {
daily
rotate 7
compress
delaycompress
missingok
notifempty
create 0640 root adm
sharedscripts
postrotate
/etc/init.d/rsyslog restart
endscript
}
```
在这个示例中,配置文件指定了以下设置:
- `daily`:表示每天轮转一次日志文件。
- `rotate 7`:表示保留最近7个轮转后的日志文件,旧的日志文件将被删除。
- `compress`:表示压缩轮转后的日志文件。
- `delaycompress`:表示在下一次轮转时才压缩上一次轮转后的日志文件。
- `missingok`:表示如果日志文件不存在,不报错继续执行。
- `notifempty`:表示如果日志文件为空,不轮转。
- `create 0640 root adm`:表示创建新的日志文件时的权限和所属用户组。
- `sharedscripts`:表示在执行轮转前后执行脚本。
- `postrotate`和`endscript`之间的部分是在轮转后执行的脚本。在这个示例中,它重新启动了rsyslog服务,以确保日志继续写入新的日志文件。
你可以将以上配置保存为一个文件,比如/etc/logrotate.d/daemon,然后logrotate会自动按照配置文件进行日志轮转和清理。
请注意,logrotate的具体参数和行为可以根据你的需求进行调整。你可以查看logrotate的文档或使用`man logrotate`命令来获取更多详细的信息和示例。