Backup Contas cPanel pela Shell

Este artigo descreve como transferir contas cPanel entre servidores, é preciso ter acesso a shell e ser usuário root nos dois servidores, você vai fazer o backup de todos arquivos, incluindo a senha, banco dados, e-mails, estatisticas 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. Precizamos 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 contas

Chegou o momento mais esperado e mágico, restaurar todas as contas no cPanel. Execute 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.