cPanel backup: prekillacct

O cancelamento de contas de hospedagem é bastante comum. Você já faz o backup das contas de seus clientes quando eles solicitam o cancelamento?

prekillacct

Caso da vida real

Você é o SysAdmin de sua empresa e deve garantir que, no momento em que for efetivado o cancelamento de uma conta de hospedagem, seja feito um full-backup da conta.

Mas, por que tudo isso?
  • Você mantém seu servidor otimizado, por isso todas as contas canceladas são imediatamente removidas do servidor, evitando consumo de espaço com armazenamento desnecessário (sem que alguém pague $$ por ele);
  • Caso o cliente decida voltar (sim, isso é muito comum), ele poderá usufruir da restauração da conta de hospedagem de maneira ágil;
  • Você pode mover os arquivos de backup para dentro de seu “Servidor de Backup” que nesse caso, pode ser sua instancia no AWS Glacier, ou qualquer outro serviço de backup de sua escolha.
Como fazer essa configuração?

Primeiro, utilize seu mRemote e acesse seu servidor cPanel com suas credencias de root.

Agora, edite o arquivo: /scripts/prekillacct e insira o conteúdo abaixo:

#!/usr/bin/bash

LOGDESTINO="/var/log/prekillacc"
LOG="$LOGDESTINO/prekillacct.log"
DESTINO="/backup/terminate-account/"
COMANDOCPANEL=/usr/local/cpanel/scripts/pkgacct

FILETMP=`date +%Y%m%d%H%M%S`

mkdir -p $DESTINO $LOGDESTINO

echo "-----------------" >> $LOG
echo "Inicio -- prekillacct" >> $LOG
date >> $LOG
echo "Dados enviados para cancelamento::: $@" >> $LOG
echo "" >> $LOG

function terminate_account () {
        $COMANDOCPANEL $d $DESTINO &>> $LOG
}

# Obtem a lista de contas no servidor
cat /etc/userdomains | cut -d":" -f2 | uniq  >> $LOGDESTINO/$FILETMP.tmp

# Faz a validação dos parametros enviados para cancelamento
for d in $(cat $LOGDESTINO/$FILETMP.tmp); do
        if [ "$d" = "$1"  ]
        then
                 terminate_account
                break

        elif [ "$d" = "$2"  ]
        then
                 terminate_account
                break

        elif [ "$d" = "$3"  ]
        then
                 terminate_account
                 break

        elif [ "$d" = "$4"  ]
        then
                 terminate_account
                break

        elif [ "$d" = "$5"  ]
        then
                 terminate_account
                break
        fi
done

rm -f $LOGDESTINO/$FILETMP.tmp

echo "" >> $LOG
echo "fim -- prekillacct" >> $LOG
echo "-----------------" >> $LOG

 

Agora conceda permissão para execução de seu novo script:

# chmod +x /scripts/prekillacct

 

Ok, finalizamos. Mas é importante você saber que:

  • Quando cancelar uma conta de hospedagem cPanel, ela será armazenada em: /backup/terminate-account/
  • Os logs gerados durante a utilização do script serão armazenados em: /var/log/prekillacc/prekillacct.log

 

Com tudo isso em mãos, sinta-se livre para adaptar o script de acordo com suas necessidades e criatividade. Por exemplo, você pode desejar enviar o arquivo de backup para seu servidor remoto ou instancia Amazon AWS Glacier juntamente com um email de notificação com o resultado do backup da conta … sim este é assunto para uma outra postagem aqui no nosso blog.

 

Referência: pkgacct, Amazon Glacier