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