Clicky

Hospedado por Limestone Networks

Jump to content
  • Sign Up

Sign in to follow this  
Jaime Silva

Backup Incremental Remoto de Servidor cPanel

Recommended Posts

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

 

Edited by Jaime
  • Like 4

Share this post


Link to post
Share on other 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


Rogério Dias - EuroTI Group - www.eurotigroup.com.br

Share this post


Link to post
Share on other 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

  • Like 1

Share this post


Link to post
Share on other 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]

 

Share this post


Link to post
Share on other 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?

  • Like 1

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Sign in to follow this  

  • Recently Browsing   0 members

    No registered users viewing this page.



×
×
  • Create New...