我有一个巨大的日志文件,我需要在生产Web服务器上删除。 我担心如果我在Linux上运行它,系统将会被抓取。 任何精彩的想法?
更新:
文件系统:ext3
分区:/ var(主要是日志和MySQL数据)
日志文件不再被写入。 (没有额外的数据被追加)
Web服务器是LAMP(大量的IO)
删除/截断文件可能会更快。 我也提到这个,因为这是一个非常大的日志文件,因此必须有大量的处理活动写入它。 如果您不能停止并启动生产服务,请尝试: > /path/to/logfile.log 。
ionice -c3 rm yourfile.log是最好的select,那么rm将属于空闲的I / O类,只有在其他进程不需要它时才使用I / O。 删除巨大的文件时,ext3并不是很好,你可以做的不多。 是的,rm命令会减慢你的系统。 缓慢的数量和删除的持续时间是人们只能猜测的东西,它非常依赖于硬件,内核版本和ext3文件系统创build设置。
对于具有大文件的日志服务器和其他服务器,我倾向于使用XFS,因为它们的速度非常快。
备用解决scheme是有独立的磁盘,并在它们之间循环。 所以,当你完成日志到一个磁盘,你交换到另一个,然后你可以使用大量的IO来删除的东西,而不是负担主动磁盘。