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.551 ]
Homepage: https://www.conectadohost.com
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
#!/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
Controlando Fan Nagios no dialog
Reconexão automática para internet ADSL
Baixar pdf do "slide share" sem login usando shell script
Nenhum comentário foi encontrado.
Cirurgia para acelerar o openSUSE em HD externo via USB
Void Server como Domain Control
Modo Simples de Baixar e Usar o bash-completion
Monitorando o Preço do Bitcoin ou sua Cripto Favorita em Tempo Real com um Widget Flutuante
Como implementar Raid (0, 1, 5, 6, 10 e 50)
fusermount3 no Ubuntu 25.10 - mantenha o perfil do AppArmor
[Resolvido] dlopen(): error loading libfuse.so.2 AppImages require FUSE to run.
Criação de diretórios e aplicação de restrições de acesso no Linux
Como programar um sistema de controle para distribuições linux em c? (0)
Compartilhar ZEBRA ZD220 na rede (2)
Como programar um software que seja utilizado para coleta de dados em ... (1)









