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.242 ]

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

Linkswitch (The POG)

Menu para servidor LDAP

Instalação do Nagios por script

Apostila interativa de linux (incompleto)

Conta Acessos


  

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