Enviado em 30/06/2016 - 09:29h
Senhores , estou desenvolvendo um script shell com ajuda do forum porem surgiu uma duvida e nao consigo realizar validação do diretorio nem q a "porra", preciso de um IF (caso tenha arquivo no diretorio execute algo ) Else (só escreva algo )
é um While infinito que fica realizando validação da dos arquivos existentes no diretorio.
Exemplo do script abaixo:
TEMPO="600" # Quanto tempo parado? 20m = 1200 seg
DAT=`date +%Y%m%d`
DIR="/spt/UL/G311/$DAT"
ESPERA="30"
ESCREVE="/dev/stdout" #
item=$(ls -lR "$DIR" | grep '^-' | wc -l )
while true
do
AGORA="`date "+%s"`"
for d in $DIR
do
for a in $d/*
do
ESTADO="`stat -c "%X" $a`"
PASSOU="$(( $AGORA - $ESTADO ))"
if [ $PASSOU -gt $TEMPO ]
then
acao $a $PASSOU
else [$TEMP -gt $PASSOU]
echo "Arquivos recepcionados recentemente" >> /home/siscom/$DAT.log
else [$item != ""] > ESSA VALIDAÇÃO NAO FUNCIONA $ITEM É VALOR RETORNADO DO COMANDO ACIMA<
echo "Nao existe arquivos pendentes para transmissao" >> /home/siscom/$DAT.log
fi
done
done
sleep $ESPERA
done
ME AJUDEM GALERA, NAO CONHEÇO MTO DE SHELL
é um While infinito que fica realizando validação da dos arquivos existentes no diretorio.
Exemplo do script abaixo:
TEMPO="600" # Quanto tempo parado? 20m = 1200 seg
DAT=`date +%Y%m%d`
DIR="/spt/UL/G311/$DAT"
ESPERA="30"
ESCREVE="/dev/stdout" #
item=$(ls -lR "$DIR" | grep '^-' | wc -l )
while true
do
AGORA="`date "+%s"`"
for d in $DIR
do
for a in $d/*
do
ESTADO="`stat -c "%X" $a`"
PASSOU="$(( $AGORA - $ESTADO ))"
if [ $PASSOU -gt $TEMPO ]
then
acao $a $PASSOU
else [$TEMP -gt $PASSOU]
echo "Arquivos recepcionados recentemente" >> /home/siscom/$DAT.log
else [$item != ""] > ESSA VALIDAÇÃO NAO FUNCIONA $ITEM É VALOR RETORNADO DO COMANDO ACIMA<
echo "Nao existe arquivos pendentes para transmissao" >> /home/siscom/$DAT.log
fi
done
done
sleep $ESPERA
done
ME AJUDEM GALERA, NAO CONHEÇO MTO DE SHELL