dtheis
(usa openSUSE)
Enviado em 04/12/2013 - 11:21h
Pessoal, o script está mais ou menos assim, alguem pode me ajudar a dar uma lapidada nele? Pois tem erros que nao consigo resolver pela falta de conhecimento, além disso preciso da opção de backup de subpastas. Obrigadoo!
#!/bin/bash
######### Variaveis do sistema #############
DATE=`date +%d%m%Y`
##########################################
clear
echo "Insira o seu nome para comecar o backup"
read NOME
clear
echo ""
echo Bem vindo ao servico de Backup, "$NOME".
echo ""
#Origem do backup
echo "Diga qual diretorio voce quer fazer backup, insira o caminho completo ex: /opt/cedup"
read origem_backup
echo ""
clear
#Destino do backup
echo "Insira o diretorio completo no qual sera salvo o backup ex: /backup/cedup"
read destino_backup
if [ -d "$destino_backup" ] ; then
echo "Ok, Destino salvo "
else
mkdir -p $destino_backup
echo "O Diretorio "$destino_backup" nao existia no entanto foi criado."
echo ""
fi
sleep 1
clear
#Nome do backup
echo "Insira o nome para o backup ex: bkp_cedup"
read nome_backup
echo ""
#Funcao compactar
clear
echo -n "
"Deseja compactar?"
1) Sim
2) Nao
"Opcao: "
"
read r1
if [ $r1 == "1" ]; then
clear
echo -n "
"Deseja compactar em qual formato?"
1) Zip
2) bz
3) bz2
"Opcao: "
"
read r2
fi
clear
####Cria o script do backup####
cd /scripts
touch $nome_backup
chmod 777 $nome_backup
echo "#!/bin/bash" > $nome_backup
if [ $r1 == "1" ]; then
if [ $r2 == "1" ]; then
echo "zip -r $nome_backup$DATE $origem_backup" >> $nome_backup
echo "mv $nome_backup$DATE.zip $destino_backup" >> $nome_backup
elif [ $r2 == "2" ]; then
echo "tar czvf $nome_backup$DATE.tar.gz $origem_backup" >> $nome_backup
echo "mv $nome_backup$DATE.tar.gz $destino_backup" >> $nome_backup
elif [ $r2 == "3" ]; then
echo "tar cjvf $nome_backup$DATE.tar.bz2 $origem_backup" >> $nome_backup
echo "mv $nome_backup$DATE.tar.bz2 $destino_backup" >> $nome_backup
else
echo "Opcao invalida"
exit 1
fi
fi
if [ $r1 == "2" ]; then
cd /scripts
touch $nome_backup
chmod 777 $nome_backup
echo "#!/bin/bash" > $nome_backup
echo "cp -R $origem_backup $destino_backup" >> $nome_backup
fi
##Agendar no crontab##
echo "Agendar no crontab"
echo ""
echo "Qual minuto? de 0 a 59?"
read minuto
echo "Qual hora? de 0 a 23"
read hora
echo "Qual dia? de 1 a 31"
read dia
echo "Qual mes? 1 a 12"
read mes
echo "Qual dia da semana? de 0 a 7"
read dia_semana
##Adicionando os parametros no script##
echo "$minuto $hora $dia $mes $dia_semana /scripts/$nome_backup" >> /var/spool/cron/root