Aqui estão alguns passos testados:
Etapa 1
Verificamos quais processos / deamons estão usando /var/log/
e os interrompemos, para que possamos usar:
lsof +D /var/log | awk '!/COMMAND/{print | "sort -u"}'
No meu caso, retorna
apache2
monit
rsyslogd
Então, acabei de interromper esses serviços até que a saída de lsof
estivesse em branco
Etapa 2
Em seguida, precisamos ter a mesma estrutura de diretório com as respectivas permissões, para que possamos usar rsync
:
mkdir /var/oldlog
rsync -a --include '*/' --exclude '*' /var/log/ /var/oldlog/
Etapa 3
Monte sua nova partição e copie a estrutura de diretórios na nova partição
mount /dev/sdX /var/log/
rsync -a --include '*/' --exclude '*' /var/oldlog/ /var/log/
Agora inicie os serviços que você parou e tail
os logs, se tudo parecer bem, então não esqueça de fazer uma entrada em /etc/fstab
Observação: essas etapas devem ser rápidas o suficiente para que não sejam descartados os logs, para que você possa escrever um script com base nas etapas acima, verificá-lo e executá-lo.