Ir para conteúdo
  • Cadastre-se

Backup Incremental Remoto de Servidor cPanel


Jaime Silva

Posts Recomendados

O seguinte script faz backup incremental de todas as contas cPanel de um servidor e o envia para um servidor remoto (com acesso root) via Rsync sobre SSH.
Salve o script como backup.sh e aplique permissão de execução nele: chmod +x backup.sh
Execute-o com ./backup.sh ou bash backup.sh
Não se esqueça de editar o script e alterar CAMINHO_CHAVE_SSH, PORTA_SSH_SERVIDOR_REMOTO e IP_SERVIDOR_REMOTO
O diretório /backup já deve existir no servidor remoto. Você também pode mudar para outro destino.

IMPORTANTE: se deseja usar senha em vez de chave SSH, instale o sshpass, disponível no repositório EPEL e
substitua ssh -i CAMINHO_CHAVE_SSH por sshpass -p "SENHA_SERVIDOR_REMOTO" ssh

#!/bin/bash

    for file in /var/cpanel/users/*
    do
        
        user=$(basename $file)
        echo "Fazendo backup do usuario $user"
        mkdir -p /backup/cpanel
        sleep 1

        # Criação de backup de dados da conta cPanel
        /scripts/pkgacct --incremental --nocompress --skiphomedir $user --backup /backup/cpanel

        # Envio de bancos de dados, zonas DNS e configurações de usuário
        rsync -avzAX --numeric-ids -e 'ssh -i CAMINHO_CHAVE_SSH -p PORTA_SSH_SERVIDOR_REMOTO -o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no -o GSSAPIAuthentication=no' /backup/cpanel/$user root@IP_SERVIDOR_REMOTO:/backup/
    
        # Envio de arquivos do usuário (diretório home)
        rsync -avzAX --numeric-ids -e 'ssh -i CAMINHO_CHAVE_SSH -p PORTA_SSH_SERVIDOR_REMOTO -o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no -o GSSAPIAuthentication=no' /home/$user/ root@IP_SERVIDOR_REMOTO:/backup/$user/homedir

    done

 

Editado por Jaime

Não há bem nem mal que dure para sempre. Um dia tudo acaba.

Link para o comentário
Compartilhar em outros sites

O seguinte script faz backup incremental de todas as contas cPanel de um servidor e o envia para um servidor remoto (com acesso root) via Rsync sobre SSH.
Salve o script como backup.sh e aplique permissão de execução nele: chmod +x backup.sh
Execute-o com ./backup.sh ou bash backup.sh
Não se esqueça de editar o script e alterar CAMINHO_CHAVE_SSH, PORTA_SSH_SERVIDOR_REMOTO e IP_SERVIDOR_REMOTO
O diretório /backup já deve existir no servidor remoto. Você também pode mudar para outro destino.

IMPORTANTE: se deseja usar senha em vez de chave SSH, instale o sshpass, disponível no repositório EPEL e
substitua ssh -i CAMINHO_CHAVE_SSH por sshpass -p "SENHA_SERVIDOR_REMOTO" ssh

#!/bin/bash

    for file in /var/cpanel/users/*
    do
        
        user=$(basename $file)
        echo "Fazendo backup do usuario $user"
        mkdir -p /backup/cpanel
        sleep 1

        # Criação de backup de dados da conta cPanel
        /scripts/pkgacct --incremental --nocompress --skiphomedir $user --backup /backup/cpanel

        # Envio de bancos de dados, zonas DNS e configurações de usuário
        rsync -avzAX --numeric-ids -e 'ssh -i CAMINHO_CHAVE_SSH -p PORTA_SSH_SERVIDOR_REMOTO -o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no -o GSSAPIAuthentication=no' /backup/cpanel/$user root@IP_SERVIDOR_REMOTO:/backup/
    
        # Envio de arquivos do usuário (diretório home)
        rsync -avzAX --numeric-ids -e 'ssh -i CAMINHO_CHAVE_SSH -p PORTA_SSH_SERVIDOR_REMOTO -o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no -o GSSAPIAuthentication=no' /home/$user/ root@IP_SERVIDOR_REMOTO:/backup/$user/homedir

    done

 

Olá Jaime,

Utilizando o sshpass com a porta diferente de 22, como ficaria o comando "sshpass -p "SENHA_SERVIDOR_REMOTO" ssh".
Pois tente assim e não funcionou:
sshpass -p1012 "SENHA_SERVIDOR_REMOTO" ssh ou sshpass -p 1012 "SENHA_SERVIDOR_REMOTO" ssh

Link para o comentário
Compartilhar em outros sites

Olá Jaime,

Utilizando o sshpass com a porta diferente de 22, como ficaria o comando "sshpass -p "SENHA_SERVIDOR_REMOTO" ssh".
Pois tente assim e não funcionou:
sshpass -p1012 "SENHA_SERVIDOR_REMOTO" ssh ou sshpass -p 1012 "SENHA_SERVIDOR_REMOTO" ssh

O correto é: sshpass -p "SENHA_SERVIDOR_REMOTO" ssh -p 1012

Não há bem nem mal que dure para sempre. Um dia tudo acaba.

Link para o comentário
Compartilhar em outros sites

Aqui deu esse erro:

 

[2015-08-13 10:22:57 -0300] pkgacct target is: /backup/cpanel/adidas
sshpass: invalid option -- 'l'
protocol version mismatch -- is your shell clean?
(see the rsync man page for an explanation)
rsync error: protocol incompatibility (code 2) at compat.c(171) [sender=3.0.6]

 

Link para o comentário
Compartilhar em outros sites

Aqui deu esse erro:

 

[2015-08-13 10:22:57 -0300] pkgacct target is: /backup/cpanel/adidas
sshpass: invalid option -- 'l'
protocol version mismatch -- is your shell clean?
(see the rsync man page for an explanation)
rsync error: protocol incompatibility (code 2) at compat.c(171) [sender=3.0.6]

 

Você digitou alguma coisa errada. Como está seu código na parte sshpass -p "SENHA_SERVIDOR_REMOTO" ssh?

Não há bem nem mal que dure para sempre. Um dia tudo acaba.

Link para o comentário
Compartilhar em outros sites

Participe da conversa

Você pode postar agora e se cadastrar mais tarde. Se você tem uma conta, faça o login para postar com sua conta.

Visitante
Infelizmente, seu conteúdo contém termos que não são permitimos. Edite seu conteúdo para remover as palavras destacadas abaixo.
Responder

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emojis são permitidos.

×   Seu link foi automaticamente incorporado.   Mostrar como link

×   Seu conteúdo anterior foi restaurado.   Limpar o editor

×   Não é possível colar imagens diretamente. Carregar ou inserir imagens do URL.

  • Quem Está Navegando   0 membros estão online

    • Nenhum usuário registrado visualizando esta página.
×
×
  • Criar Novo...

Informação Importante

Concorda com os nossos termos?