我为 /var/logs 创建了一个新分区。我已编辑了 fstab。是否可以在不重启服务器的情况下将其挂载到 /var/log 上?
答案1
以下是一些经过测试的步骤:
步骤1
我们检查正在使用的进程/守护进程/var/log/
并停止它们,以便我们可以使用:
lsof +D /var/log | awk '!/COMMAND/{print $1 | "sort -u"}'
就我而言
apache2
monit
rsyslogd
所以我只是停止了这些服务,直到lsof
输出为空白
第2步
然后我们需要具有相同的目录结构和各自的权限,因此我们可以使用rsync
:
mkdir /var/oldlog
rsync -a --include '*/' --exclude '*' /var/log/ /var/oldlog/
步骤3
挂载新分区并将目录结构复制到新分区上
mount /dev/sdX /var/log/
rsync -a --include '*/' --exclude '*' /var/oldlog/ /var/log/
现在启动您已停止的服务和tail
日志,如果一切正常,请不要忘记在/etc/fstab
注意:这些步骤应该足够快,以便不会丢失日志,因此您可以根据上述步骤编写脚本并检查并运行。