如何更改日志存储位置?

如何更改日志存储位置?

我的空间快用完了,想移动日志以恢复 SSD 上的一些空间。我的问题是:

  1. 我有一个 SSD(安装在/)和普通硬盘(安装在/mnt/d2)。我该如何更改它,以便我的日志(存储在 中的所有日志/var/log)存储在我的其他硬盘(可能/mnt/d2/var/log)的某个位置?

谢谢你!

答案1

sudo /etc/init.d/rsyslog stop
sudo mv /var/log /mnt/d2/
sudo ln -s /mnt/d2/log /var/log
sudo /etc/init.d/rsyslog start

你可能想继续重启机器,以防万一其他而不是rsyslogd忙着尝试写入 /var/log 下的日志 - 这些日志将无法恢复,直到他们是也重新启动了,只需弹起整个盒子就可以很好地完成。

我们在这里所做的是,不是尝试重新配置所有可能要写入 /var/log 的内容,而是只是将写入的内容轻轻地重定向到其他磁盘。这样,您仍然可以cd /var/logless /var/log/syslog无论如何让它正常工作,并且任何尝试直接记录到 /var/log 下的目录(而不是通过它)的新程序rsyslogd也将按预期工作。

答案2

我没有足够的声誉来添加此评论,因此这里将其作为一个死灵答案:

最好在 fstab 中将其挂载绑定,将其中当前的所有日志文件复制到新分区,然后重新启动。然后清除旧的 /var/log。不要摆弄符号链接并试图打地鼠式地运行服务。最终,你会遇到麻烦。

答案3

它还没有死。编辑 /etc/fstab 添加指向新目录的行

/var/log /media/usb-stick/log无绑定0

然后在 fstab 中挂载所有文件系统: mount -a

在 Ubuntu 上强制日志轮换:logrotate -vf /etc/logrotate.conf

进行测试,但不执行任何操作:logrotate -vdf /etc/logrotate.conf

相关内容