Restaurar backup de uma conta cpanel mesmo que ela já exista

Publicado por marcio mendes mendes (última atualização em 09/04/2017)

[ Hits: 2.269 ]

Homepage: https://www.conectadohost.com

Download restaurar.sh




Olá, Cpanel tem um bug que ocorre normalmente quando uma conta é deletada, pode ocorrer de ficar alguns rastros e com isso na hora de restaurar o backup da mesma conta aparece a mensagem dizendo que a conta já existe.

Como muitos usuários desconhecem como resolver o problema desenvolvi esse script.

Do modo normal, para poder restaurar o backup de uma conta já existente teria que deletar a conta e todos seus rastros e muitos desconhece ondem onde ficam.

Com esse script ele mesmo vai remover a conta caso ela exista e ainda é possível restaurar o backup em qualquer diretório não sendo obrigatório estar diretamente no diretório /home. O backup pode estar em qualquer lugar por exemplo: /mnt

Para isso digite:

# cd /mnt

depois:

# restaurar.sh

e insira o usuário do backup a ser restaurado.

Para instalar o script no seu servidor com cpanel/whm faça do seguinte modo:

Logar no ssh como root. Digitar:

# nano /bin/restaurar.sh

Cole o código do script. Salve e dê permissão 755:

# chmod 755 /bin/restaurar.sh

  



Esconder código-fonte

#!/bin/bash
SHELL=/bin/sh
PATH=/sbin:/usr/sbin:/usr/bin:/bin

# Script restaurar Backup mesmo que a conta não estejá no /home
# Caso a conta já exista o script deleta a conta antiga e restaura o novo backup
# Desenvolvido por Márcio M Mendes o deus dos scripts para Cpanel/WHM
# conectadohost.com Gerenciamentos para Cpanel/WHM



clear
echo
echo -e "\033[41;1;37m SCRIPT RESTAURAR BACKUP EM QUALQUER DIRETÓRIO  \033[0m "
echo ""
DIR=` pwd `
cd $DIR

echo -e "\033[01;32m Digite o nome do usuário para restaurar backup \033[01;37m  "
echo -n " >>>  "
read nome
echo ""

VERIFICA=` ls $DIR/*.tar.gz | grep $nome | awk -F " " '{print "USS" $1 }' |  wc -l `


if [ "$VERIFICA" -gt "0" ];
then
echo -e "nome $nome">/home/restore1.txt
ls $DIR/*.tar.gz | grep $nome | awk -F " " '{print "USS" $1 }' >/home/restore.txt
echo -e "\033[01;32m Ok Encontramos o backup  do usuário \033[01;37m $nome "
sleep 02
else
echo -e "\033[01;32m Backup do usuário \033[01;37m $nome \033[01;32m não encontrado no diretório $DIR ou nome de usuário informado errado "
fi


paste /home/restore1.txt /home/restore.txt > /home/restore2.txt

cat /home/restore2.txt | sed -r 's/(nome|USS)//g'|
while read  nome USS
do

VERIFICA=` cat /home/restore2.txt |  wc -l `

if [ "$VERIFICA" -gt "0" ];
then
echo -e "\033[01;32m Removendo a conta do usuário \033[01;37m $nome caso ela exista "
cd /home
/scripts/removeacct $nome -f
/scripts/killacct $nome
userdel -r $nome
groupdel $nome
rm -rf $nome
rm -rf /var/cpanel/userdata/$nome/*
rm -rf /var/cpanel/userdata/$nome
echo -e "\033[01;32m Estamos Restaurando Backup do usuário \033[01;37m $nome "
cd  $DIR
/scripts/restorepkg  --force $USS
else
echo -e "\033[01;32m algo deu errado "
fi
done


cat /home/restore1.txt | sed -r 's/(nome)//g'|
while read  nome 
do

if [ -d "/home/$nome" ]
then
echo -e "\033[01;32m OK Backup do usuário \033[01;37m $nome \033[01;32m Restaurado Com Sucesso!"
else
echo -e "\033[01;32m OPS  Backup do usuário \033[01;37m $nome  Não Foi Restaurado ERRO....!"
fi
done


rm -rf /home/restore.txt
rm -rf /home/restore1.txt
rm -rf /home/restore2.txt

Scripts recomendados

Verifica conexão de Net Virtua

Implementando Statement e RecordSet em bash script

Máquina Virtual no Linux KDu4 ou outras distros / remasters

Relatório CSV ZIMBRA

SquidFacil


  

Comentários

Nenhum comentário foi encontrado.


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts