我发现我的一个日志占用了大量来自正在运行的进程的空间。我想清理这个文件,所以我可以运行 logadm 来旋转它。但我不知道如何
# >MyLog_nohup.out
# ls -lLh MyLog_nohup.out
-rw-r-lr-- 1 user group 72G Jul 30 07:26 MyLog_nohup.out
# du -sh MyLog_nohup.out
480K MyLog_nohup.out
Run Code Online (Sandbox Code Playgroud)
即使在释放它之后,仍然消耗 72G,并在其上运行更多,只是显示空行.. 我该如何解决?
我负担不起重新开始这个过程。但是我想使用 logadm 来轮换这个日志文件,这可能吗?我试过了,但它一直在无限循环地处理空白行。和我在这个文件上做更多的时候一样。有没有其他方法可以解决这个问题?
对于 logrotate,有处理打开文件的 copytruncate 选项,但是当文件在循环中运行时有这些空行时,我无法使用它。我还是不明白为什么我不能查看/更多/头部这个文件!
考虑是否列出目录中的文件:
drwx--x--x 43 root wheel 4.0K Aug 18 12:52 ..
-rw------- 1 root root 268K Aug 18 04:31 build_locale_databases_log
-rw------- 1 root root 5.2M Aug 18 17:21 access_log
-rw------- 1 root root 85K Aug 18 17:14 cpbackup_transporter.log
-rw------- 1 root root 2.1M Aug 18 05:49 cphulkd.log
-rw------- 1 root root 3.2M Aug 18 17:19 error_log
-rw------- 1 root root 1.7M Aug 18 12:52 license_log
Run Code Online (Sandbox Code Playgroud)
这里我想清除大于的文件内容2Mb。(即)将以下文件的文件大小设置为零字节:
access_log
cphulkd.log
error_log
Run Code Online (Sandbox Code Playgroud)