Desenvolvimento

17 abr, 2014

Como fazer o backup de contas cPanel pela Shell

Publicidade

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.