您可以在不重新启动的情况下将新分区挂载到 /var/log 吗

Jon*_*ill 2 partitioning mount

我为 /var/logs 创建了一个新分区。我已经编辑了 fstab。是否可以在不重新启动服务器的情况下将其挂载到 /var/log 上?

Rah*_*til 8

以下是一些经过测试的步骤:

第1步

我们检查正在使用的进程/守护进程/var/log/并停止它们,因此我们可以使用:

lsof +D /var/log | awk '!/COMMAND/{print $1 | "sort -u"}'
Run Code Online (Sandbox Code Playgroud)

在我的情况下返回

apache2
monit
rsyslogd
Run Code Online (Sandbox Code Playgroud)

所以我只是停止了这些服务,直到lsof输出为空

第2步

然后我们需要有相同的目录结构和各自的权限,所以我们可以使用rsync

 mkdir /var/oldlog
 rsync -a --include '*/' --exclude '*'  /var/log/ /var/oldlog/
Run Code Online (Sandbox Code Playgroud)

第 3 步

挂载新分区并将目录结构复制到新分区

mount /dev/sdX  /var/log/
rsync -a --include '*/' --exclude '*'  /var/oldlog/ /var/log/
Run Code Online (Sandbox Code Playgroud)

现在启动您已停止的服务和tail日志,如果一切正常,请不要忘记输入/etc/fstab

注意:这些步骤应该足够快,以免丢失日志,因此您可以根据上述步骤编写脚本并检查并运行。