我最近开始对我的 python 代码使用多处理,现在这两个文件占用了我的系统上的所有空间。
./var/log/user.log: 8.1G
./var/log/syslog: 8.1G
我知道如果不了解代码的具体细节就很难解决这个问题,我只是想知道删除这些文件是否安全?
答案1
这些是用于调试和用户责任的日志文件。在您的个人计算机上,您完全可以删除它们。
然而,虽然这暂时解决了问题,但多处理不应该在这些文件中进行输入。
执行程序时,这些日志文件中写入了什么?查找这些字符串以及它们在程序中写入的位置,然后取出这些语句。
答案2
不确定你正在使用哪个发行版,但似乎你有一个自定义日志记录实例设置/etc/syslog.conf。
尝试禁用,或者,如果日志信息有用,请配置/etc/logrotate.conf更有规律地轮换这些日志,以防止它们填满您的文件系统。
答案3
我用过这个解决方案我将日志轮换范围从每四周轮换一次到每日轮换1次。
您可以更改中的默认行为/etc/logrotate.conf
,例如:
size 250M
rotate 2
create
#compress
include /etc/logrotate.d
或者专门针对日志文件(例如/var/log/syslog
):
/var/log/syslog
{
size 250M
rotate 2
# missingok
# notifempty
# delaycompress
# compress
# postrotate
# invoke-rc.d rsyslog reload > /dev/null
# endscript
create
}
答案4
删除这些文件后,空间将不会释放,直到保持这些文件打开的进程退出。换句话说,如果您的目标是释放空间,您还必须重新启动 syslogd(这可能并不容易,具体取决于您的系统)
您可以使用以下命令查看哪些进程正在打开文件:
lsof|egrep '/var/log/(user.log|syslog)'