我的空间快用完了,想移动日志以恢复 SSD 上的一些空间。我的问题是:
- 我有一个 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/log
或less /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