Presumindo algum tipo de linux / bsd, é realmente possível copiar um sistema 'em execução' para outro. É strongmente recomendado que o alvo seja inicializado em algo diferente do systemdisk (sistema de recuperação ou partição swap com o mini system instalado).
A vantagem dessa abordagem é que todos os tipos de configurações são idênticos (permissões, crontabs do usuário, versões da biblioteca do servidor da web, ...). É claro que você também copia todos os arquivos que foram construídos.
Primeiro turno de tudo que contém dados importantes ou não estritamente necessários (banco de dados, servidor http, todos os tipos de daemons, etc.).
Você pode, então, tar / e copiá-lo, instalar o gerenciador de inicialização no sistema de destino.
Em seguida, reinicie.
Qualquer daemons em execução podem pensar que o sistema falhou, mas não deve ser pior do que substituições de pidfile.
Dicas:
- inicie toda a operação a partir de uma tela ou use nohup.
- Canaliza o tarball sobre ssh:
root@source:~# tar czvf - / | ssh root@target "tar -xzv -C targetpartition/ -f -"
. - De preferência, desmonte quaisquer partições de dados e forneça um tratamento separado. Tenha em mente que o ponto de montagem (subjacente ao fs montado) pode ter arquivos.
- Verifique cuidadosamente a configuração de hardware, a configuração do carregador de inicialização, o fstab e a configuração ethernet (nada pior do que uma conversão bem-sucedida que é inacessível da Internet porque eth0 e eth1 são alternados)
- Verifique se o tar assume as variáveis uid / gid / permissions e extended (se houver). Requer root ao descompactar, daí o login da raiz do ssh no meu exemplo.
- É muito mais fácil se você tiver um sistema de reset remoto e resgate no alvo. Se as coisas não funcionarem primeiro, você pode checar se há erros no syslog, etc.
- Não faça isso sob pressão de tempo ou influência de substância; -)