Jaime Silva Posted August 12, 2015 Share Posted August 12, 2015 (edited) 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.shExecute-o com ./backup.sh ou bash backup.shNão se esqueça de editar o script e alterar CAMINHO_CHAVE_SSH, PORTA_SSH_SERVIDOR_REMOTO e IP_SERVIDOR_REMOTOO 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 esubstitua 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 August 12, 2015 by Jaime 4 Quote Link to comment Share on other sites More sharing options...
Guest varallo Posted August 12, 2015 Share Posted August 12, 2015 Show, boa dica. 0 Quote Link to comment Share on other sites More sharing options...
rogerioTI Posted August 13, 2015 Share Posted August 13, 2015 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.shExecute-o com ./backup.sh ou bash backup.shNão se esqueça de editar o script e alterar CAMINHO_CHAVE_SSH, PORTA_SSH_SERVIDOR_REMOTO e IP_SERVIDOR_REMOTOO 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 esubstitua 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 0 Quote Link to comment Share on other sites More sharing options...
Jaime Silva Posted August 13, 2015 Author Share Posted August 13, 2015 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 1 Quote Link to comment Share on other sites More sharing options...
rogerioTI Posted August 13, 2015 Share Posted August 13, 2015 O correto é: sshpass -p "SENHA_SERVIDOR_REMOTO" ssh -p 1012 Vlw Jaime, funcionou perfeito aqui.... 0 Quote Link to comment Share on other sites More sharing options...
jgmoura Posted August 13, 2015 Share Posted August 13, 2015 Aqui deu esse erro: [2015-08-13 10:22:57 -0300] pkgacct target is: /backup/cpanel/adidassshpass: 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] 0 Quote Link to comment Share on other sites More sharing options...
Jaime Silva Posted August 13, 2015 Author Share Posted August 13, 2015 Aqui deu esse erro: [2015-08-13 10:22:57 -0300] pkgacct target is: /backup/cpanel/adidassshpass: 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? 1 Quote Link to comment Share on other sites More sharing options...
jgmoura Posted August 13, 2015 Share Posted August 13, 2015 estava com dois '' , agora acho que foi.. 0 Quote Link to comment Share on other sites More sharing options...
m0rpheu5 Posted April 2, 2018 Share Posted April 2, 2018 Ainda estão utilizando esse script? Funciona 100%? ou Melhor usar o proprio Backup do cPanel com a opção incremental e enviar via rsync? 0 Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.