Este artigo descreve como transferir contas cPanel entre servidores. Primeiro, é preciso ter acesso a shell e ser usuário root nos dois servidores. Depois você vai fazer o backup de todos arquivos, incluindo a senha, banco dados, e-mails, estatísticas e tudo que pertence ao usuário cPanel.
Para a realização do backup das contas do cPanel utilizaremos somente os scripts nativos do cPanel, SSH e SCP. Para quem não conhece, SCP, ou Secure Copy, é um meio seguro para transferência de arquivos entre servidores muito conhecido entre os heavy users de Linux.
Antes de iniciar, vamos considerar que temos dois servidores:
- Servidor A: Estão as contas dos usuários do cPanel. IP: 192.168.0.1.
- Servidor B: Receberá as contas do cPanel do Servidor A. IP: 172.16.0.1.
Criar o Backup de todas as contas
Para criar o backup, execute o comando:
cat /var/cpanel/users | while read a; do
/scripts/pkgacct $a
done
Se quiser criar o backup de apenas uma conta, execute somente o comando:
/scripts/pkgacct cPanelUser
Para cada conta será criado um arquivo chamado cpmove-nomedaconta.tar.gz. Os arquivos serão alocados automaticamente dentro do diretório /home.
Transferir para o novo servidor
Após criados os arquivos de backup, precisamos transferir para o Servidor B. Vamos utilizar o SPC para a transferência.
scp cpmove-* root@172.16.0.1:/home
O comando acima vai transferir todos os arquivos de backup para dentro do diretório /home do Servidor B.
Se você tiver feito o backup de todas as contas, precisa enviar também o arquivo /var/ cpanel/users. Dentro deste arquivo contém o nome de todos os usuários do cPanel. Precisamos enviar para dentro do diretório /home no Servidor B com o nome de users.txt.
scp /var/cpanel/users root@172.120.0.1:/home/users.txt
Restaurar as contas
Chegou o momento mais esperado e mágico, restaurar todas as contas no cPanel. Executar o comando:
cat /home/user/txt | while read a; do
/scripts/restorepkg $a
done
Pronto, a sua lista de contas do Servidor A estão replicadas no Servidor B.