删除日志文件是否安全?

我发现使用这个命令几乎没有文件堆积大小:

find / -size +50M 

他们大多数是日志文件,所以我想知道是否安全删除日志文件。 有问题的日志文件是:

 /var/log/httpd/mySite.com-access.log.1 /var/log/httpd/access_log.1 /var/log/httpd/mySite.com-access.log /var/log/maillog.4.gz /var/log/maillog 

服务器的操作系统版本是:cat / etc / centos-release CentOS release 6.2(Final)

如果可以删除 – 我该怎么做? 我只是用rm删除这个文件,或者我应该“清除它的内容”,例如:

 cat /dev/null > access_log.1 

删除它们是否安全? 很可能是的。 一些文件,比如你的邮件日志,你可能只希望通过cat /dev/null > somefile来连接它们。 大多数情况下,以.1结尾的文件已经通过日志旋转进行了旋转,检查它的configuration文件以及经常的日志旋转也会删除较旧的文件。 因此经常以.1结尾的日志文件可以被删除。

天气还是不行,删除日志文件是个不同的问题。 根据谁是服务器等等,删除您必须保留指定时间的文件可能会有潜在的法律后果。 如果它是你的服务器,那么只要你认为它们是必要的,那么保留这些文件是很好的。 然而,在删除文件之前,通常需要查看其中一些寻找常见的重复消息或“错误”,“拒绝”和“中止”等短语。

logrotate通常默认设置为每周轮换并保留4个旧日志。 通过将其更改为每天保存28个旧日志,可以获得更一致的空间使用情况。 你仍然保持相同的时间段,但是现在的28天中有26天总是会被压缩,而不是在一周的27天和21天之间变化。 通过删除logrotateconfiguration中的delaycompress选项,您可以在过去的28天内创build27个。

logrotate的configuration位于/etc/logrotate.d/ 。 每个生成日志的服务通常都有一个文件。

就删除而言,对于已经被旋转的旧日志文件(以.1.4.gz结尾的文件)而言,对于正在被写入的日志文件而言,并不重要,使用rm可能导致奇怪的情况下,该文件不再存在该目录中,但进程仍然打开并正在写入。 您将不会释放任何磁盘空间,您将无法访问正在写入的日志。 每个服务都有一个不同的方法来通知它应该启动一个新的日志文件,这些文件通常被编码在logrotateconfiguration文件的postrotate部分。

如果你不需要它们(如果你真的做了检查,可能有错误,安全漏洞等等),你可以删除它们。 在删除(或回显“”到他们)之后,出于安全考虑,重新启动生成这些日志文件的服务。

如果您对日志文件大小有不断的问题,请考虑安装“logrotate”实现,该实现在指定的时间后自行压缩,存档和删除日志文件。

为什么要删除日志文件?

如果你饿坏了空间,把它们刻录成CD或者DVD,或者把它们redirect到一个USB闪存盘,那么如果你需要的话,至less你可以把它们放在某个地方。