dedao
(usa Slackware)
Enviado em 29/06/2006 - 18:17h
ola....fiz um script d backup, porém, ele esta dando o seguinte erro:
Iniciando a geracao do pacote tar ....
/bin/tar: Deve ser especificada uma das opções "-Acdtrux"
Try `/bin/tar --help' or `/bin/tar --usage' for more information.
./script.txt: line 90: [: /opt: integer expression expected
Ufa, terminei :)
O arquivo gerado encontra-se no diretorio /opt
cat: /usr/sbin/anacron: Arquivo ou diretório não encontrado
./script.txt: line 101: [: /usr/bin/bkp.sh: integer expression expected
abaixo vou colocar a descrição de funcionalidade dele, e apos, seu codigo para ver se alguem pode me ajudar a descobrir o erro. haaaa, e ele não esta gerando o arquivo .tar.gz no /opt.....
# Finalidade deste script: #
# Este script gera um pacote TAR com o contedo do diretorio /home. #
# A ideia e utiliza-lo para backup (o nome ja diz isso). O pacote #
# gerado deve conter todos os arquivos do /home, exceto aqueles que#
# contenham a string "lixo" no seu nome e aqueles cujo nome finali-#
# ze por ".ant". O arquivo gerado deve ser compactado pelo gzip e o#
# seu nome deve seguir o modelo bkp_home_nameserver_dd-mm-aaaa.tgz #
# Onde: #
# nameserver= nome do servidor (sem o dominio) #
# dd-mm-aaaa= data do backup #
# #
# O arquivo gerado deve ficar armazenado no diretorio /opt #
# Este script, sempre que rodar, deve verificar se esta incluido na#
# agenda do sistema. Se este script nao estiver na agenda do sis- #
# tema deve se auto-instalar para rodar, todos os dias, as 22:00, #
# exceto aos domingos (pois aos domingos o nosso servidor esta des-#
# ligado). #
# Suponha que este script esta no diretorio /usr/bin
# Definicao das variaveis utilizadas neste script
DATA_DA_BACKUP=`date +%d-%m-%Y` #Data da backup
NOME_DO_SERVIDOR=`hostname -a` #Nome da maquina, sem o dominio
NOMEFIXO="bkp_home" #A parte fixa do nome do pacote
DIRETORIO="/opt" #Onde o arquivo tar sera armazenado
TAR="/bin/tar" #O binario que iremos utilizar
OPCOES1="--exclude "*.ant"" #Exclui os arquivos com final ".ant"
OPCOES2="--exclude "lixo"" #Exclui os arquivos com a string "lixo"
OPCOES3="tar -zxvf bkp_home.tar.gz /home" #Opcoes para a gerar e compactar
ARQ_CRON="usr/sbin/acron" #Arquivo da agenda do sistema
NOME_SCRIPT="/usr/bin/bkp.sh" #Caminho absoluto do script de backup
USER="renato" #Usuario que rodara o script na cron
AGENDA="00 22 * * 1-6 renato /usr/sbin/anacron || run-parts --report /etc/cron.daily" #Data/hora na cron para rodar o script
#(cinco campos separados por um espaco)
LINHA=$AGENDA" "$USER" "$NOME_SCRIPT #Linha que sera incluida na cron
###################################################################
# Vamos iniciar.
# Limpamos a tela.
clear
#Vamos para o diretorio onde o pacote gerado ficara
cd $DIRETORIO
echo "Iniciando a geracao do pacote tar ...."; sleep 1
$TAR $OPCOES1 $OPCOES2 $OPCOES3 "$NOMEFIXO"_"$NOME_DO_SERVIDOR"_"$DATA_DA_BACKUP".tgz /home
# Testa o codigo da saida (se o comando foi feliz)
if [ $DIRETORIO -ne 0 ]; then
echo "Alguma coisa saiu errada ...."
echo ""
echo "Contate o administrador do sistema.";sleep 1
exit 1
fi
echo "Ufa, terminei :)"
echo ""
echo " O arquivo gerado encontra-se no diretorio $DIRETORIO"
# Verifica se este script esta ativo na crontab do sistema
cat $ARQ_CRON |grep $NOME_SCRIPT|grep -v "#" >/dev/null
if [ $ARQ_CRON -ne 0 ]; then
echo "Este script nao esta ativo na agenda do sistema"
echo "Vou inclui-lo para voce ..."; sleep 1
echo "$LINHA">>$ARQ_CRON
fi
exit 0