Manipulando log com > e >>

1. Manipulando log com > e >>

Danilo Soares
dancristian

(usa Debian)

Enviado em 21/09/2009 - 11:12h

Estou desenvolvendo um script e estou com problemas na criação do log.

Por exemplo:
LogFileName="/home/usr/tmp/logfile.log"
echo " " > $LogFileName
echo "Backup executado com sucesso" >> $LogFileName

No meio deste bloco de código, o sistema está criando além do "logfile.log" com o conteúdo correto, ele está criando um arquivo chamado "0" sem conteúdo. Alguém sabe o porque desta "doidera"?

Sim, estou iniciante em desenvolvimento de script no linux, mas vivendo e apredendo.


  


2. Re: Manipulando log com > e >>

DAVISON MARCEL PASQUALINI
fdmarp

(usa Debian)

Enviado em 08/10/2009 - 18:50h

Cara, coisa de loco isso ein ... tem certeza que não tem nada no meio disso? Tentei reproduzir seu problema de todo jeito no Debian, no Open Solaris e até no Mandriva e nada!
Bom a primeira coisa é ... certifique-se de que não é outra parte do seu script que está fazendo isso, se não funcionar, pode usar o >> direto que ele cria o arquivo ou ainda usar o touch $LogFileName ...
Mas que é de louco é!


3. Re: Manipulando log com > e >>

Perfil removido
removido

(usa Nenhuma)

Enviado em 08/10/2009 - 20:12h

acho q vc ta viajando na maionese ... mostra o resto do codigo. penso que ele esta direcionando a variavel $? para um arquivo por algum motivo.

tenta mudar esse nome de LogFile ta horrivel... imagine escrever um script grande com uma variavel veia, feia e suja dessa...

coloca LOGFILE=""

troca echo "" por

echo > $LOGFILE
echo "leriado" >> $LOGFILE
echo "BACKUP LERIADO" >> $LOGFILE

isprimenta e fala pra nois... rs


4. Re: Manipulando log com > e >>

Danilo Soares
dancristian

(usa Debian)

Enviado em 08/10/2009 - 20:22h

Na verdade, de fato essa variável tem outro nome. Alterei o nome para entendimento do código simplificado.

Como estava atrasado com o projeto, resolvi de maneira "bem tosca". Como eu disse, ele cria um arquivo chamado "0" (sem conteúdo algum) e o arquivo log (corretamente). Maneira tosca? Ao final do bloco do script, dei um:
rm 0

hahaha... beleza, ficou horrível, mas resolveu. Talvez, outro dia eu volte a faça a versão 2.0 do script.

Obrigado pela ajuda pessoal!


5. Re: Manipulando log com > e >>

Danilo Soares
dancristian

(usa Debian)

Enviado em 08/10/2009 - 20:23h

vfs,

Estou fora da empresa.
Vlw pela dica, assim que der eu testo a sua idéia.


6. Re: Manipulando log com > e >>

Perfil removido
removido

(usa Nenhuma)

Enviado em 08/10/2009 - 23:04h

tem moral de mandar o script no meu email pra eu ver? ou posta ele todo pra gente espiar (apague o que for sigiloso escreva otra coisa no lugar)


7. Re: Manipulando log com > e >>

Perfil removido
removido

(usa Nenhuma)

Enviado em 09/10/2009 - 07:20h

Esses tempos errei na sintaxe de um script, em um dos ifs em vez de usar !=, usei =! e o tal arquivo 0 surgiu...


8. Re: Manipulando log com > e >>

Danilo Soares
dancristian

(usa Debian)

Enviado em 23/10/2009 - 09:40h

vfs,

demorei para responder pq eu tava "ocupadaço" com outros projetos...
mas enfim, tá ae o código, como vc queria ver..

----------------------------------------
#!/bin/bash

#SINTAXE
if [ $# = 0 ]; then
echo
echo "bla bla bla de explicação de sintaxe"


else
#---------------FLUXO PRINCIPAL------------------
#Seta variaveis
BackupDir=$1
DSLog="BackupLog"
ano=`date +"%Y"`
dia=`date +"%d"`
mes=`date +"%m"`
data=$ano$dia$mes
LogFileName=$BackupDir$DSLog"-"$data"__".log

#Teste existencia diretorio passado como parâmetro
if [ ! -d "$BackupDir" ]; then
echo
echo "Bad/Non-existing directory:" $BackupDir
echo
echo "Please ensure that you have permission to access/create directories"
echo "and files. Also ensure that directory listed exists."
echo
echo >> $LogFileName
echo "Bad/Non-existing directory: "$BackupDir >> $LogFileName
echo >> $LogFileName
else
#--------------Gravação do log
echo > $LogFileName
echo "Backup ran on "$data" with the following parameters" >> $LogFileName
echo "Host=" >> $LogFileName
echo "User=" >> $LogFileName
echo "BackupDir="$BackupDir$data'/' >> $LogFileName
echo "CompTog=" >> $LogFileName
echo "CompScri=" >> $LogFileName
echo "DSExportCmd=" >> $LogFileName
echo "DsxJob=" >> $LogFileName
echo "ProjectList=" >> $LogFileName
echo "DSLog=" >> $LogFileName
echo >> $LogFileName
rm $BackupDir'0' <--------------------AQUI ESTÁ O PROBLEMA/SOLUÇÃO QUE FALEI!!!!
#---------------Cria subdiretorio no diretorio de backup
#---------------Valida existencia do subdiretorio ou cria
datadir=$data'/'
if [ ! -d "$BackupDir$datadir" ]; then
echo "*** Creating: "$BackupDir$datadir
mkdir $BackupDir$datadir
#------------------------Em caso de erros, verifique privilégios
echo >> $LogFileName
echo "*** Created: "$BackupDir$datadir >> $LogFileName
echo >> $LogFileName
fi
#---------------Faz backup
echo
echo "Backing up to "$BackupDir$datadir "..."
echo "move J/DIRBKP/*.* $BackupDir$datadir"
mv "J/DIRBKP/"* $BackupDir$datadir
echo
fi
fi


9. ntpdate

Denis Willian Bagollim MOreira
deniswbm

(usa Kurumin)

Enviado em 23/10/2009 - 11:12h

Srs,

Comecei a trabalhar com linux faz pouco tempo, e estou com um dúvida, precisor salvar os logs do ntpdate em um arquivo separado do /var/log/messages ja tenho o ntpd instalado, mas nao sei como tenho que editar o arquivo syslog.conf Alguem poderia me ajudar ??


Obrigado


10. Re: Manipulando log com > e >>

Perfil removido
removido

(usa Nenhuma)

Enviado em 23/10/2009 - 11:55h

peguei seu script, vou dar uma estudada depois, pq agora vou ter que correr com outas coisas...






Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts