The UNIX and Linux Forums  
Olá e boas-vindas de Estados Unidos para o UNIX e Linux Forum! Obrigado por visitar e fazer parte da nossa comunidade global.

Go Back   O UNIX e Linux Forum > Top Fóruns > Programação Shell Script e
.
google unix.com



Programação Shell Script e Post perguntas sobre ksh, CSH, SH, BASH, Perl, PHP, SED, Awk e outros scripts shell e shell scripts línguas aqui.

Mais UNIX e Linux Fórum Tópicos Você pode achar Helpfull
Fio Thread Starter Fórum Respostas Última postagem
Arquivo de registro não se actualizado KornFire Alto Nível de programação 4 10-21-2008 03:12
Encontre atualizada arquivo callimaco0082 UNIX para Dummies Perguntas & Respostas 4 09-04-2008 10:17
checaram últimas arquivo atualizado asadlone Programação Shell Script e 3 05-08-2008 04:16
/etc / utmp arquivo não ficar atualizado com arrancar informações jyoti_mil UNIX & avançada para usuários experientes 1 06-11-2007 10:41
Criando um arquivo atualizado dbfree Programação Shell Script e 4 09-30-2005 03:23

Closed Thread
English Japanese Spanish French German Portuguese Italian Dutch Swedish Russian Norwegian Hungarian Hebrew Danish Bulgarian Greek Powered by Powered by Google
 
Linkback Thread Tools Pesquisar este Thread Rate Thread Display Modes
  #1 (permalink)  
Old 11-06-2008
cbo0485 cbo0485 is offline
Usuário
  
 

Join Date: Mar 2008
Lugares: 87
Se arquivo foi atualizado, faça alguma coisa?

Coloque este conjunto de outro local na fóruns, e acrescentou que apenas modificou o ciclo.


Código:
#!/bin/ksh

localFile=$1
remoteFile=$2

#source FTP parameters
. .ftp_put.cfg

mylog=ftp_session.log
echo "$(date "+%H:%M:%S") - Attempt to FTP $1 to $2" > $mylog
machine="server1 server2 server3 server4"
count=0
# do the FTP put

for machine in $machine
do
ftp -i -n <<EOF >> $mylog
open $machine
user $FTP_LOGIN $FTP_PASSWORD
put $localFile $remoteFile
ls $remoteFile
quit
EOF
count=`expr $count + 1`
done
Este script recebe chamados por outra através de um script cron job a cada 5 minutos:

Código:
/tmp/abcQATest/abcMoveTest.sh archive.tar /tmp/archive.tar
Anyways, eu estava me perguntando se havia alguma maneira de torná-lo um pouco melhor. Atualmente, esse simplesmente ftp do arquivo estático que a cada 5 minutos, independentemente de se o arquivo foi atualizado ou não. A forma como ele funciona, agora, é se alguém precisa de fazer uma atualização para o 4 do servidor FTP que este script's para, eles simplesmente largar seu arquivo (chamado archive.tar) para o / tmp / abcQATest / diretório e, em seguida, dentro de 5 minutos, o crontab executa ftp e do seu arquivo para servidor 1/4 no / tmp / archive.tar localização.

Existe alguma maneira de configurá-lo para que ele só ftp o arquivo se ele foi atualizado desde a última vez que o ftp correu? Dessa forma, se ele fica atualizado, é obter da FTP'd uma vez, mas então não se FTP'd novamente, a menos que o arquivo tem sido alterado?

Em seguida, sobre os outros 4 servidores, eu também preciso de algo parecido com isto:

Código:
If /tmp/archive.tar has been updated

do something
.
.
else
endif
A fazer algo é apenas uma parte jovem rápidos movimentos, extratos e apaga, isso é não é grande coisa. É declaração Se estou em stumped.
  #2 (permalink)  
Old 11-06-2008
sumeet sumeet is offline
Usuário
  
 

Join Date: Nov 2006
Lugares: 33
gato ficheiro1> ficheiro2

permite dizer ficheiro1 fica atualizado.

diff ficheiro1 ficheiro2> ficheiro3.

if [-s ficheiro3]
fazer alguma coisa. (no seu caso, FTP)
fi

obrigado
Sumeet
  #3 (permalink)  
Old 11-06-2008
cbo0485 cbo0485 is offline
Usuário
  
 

Join Date: Mar 2008
Lugares: 87
Argumento:

Código:
diff archive.tar backup.tar > tmp
if [ -s tmp ]; then
/tmp/abcQATest/abcMoveTest.sh archive.tar /tmp/archive.tar
echo "Files different, transferring files"
else
echo "Files the same, exiting";
fi
Resultados:

Código:
/tmp/abcQATest>./autoMoveScript.sh
Binary files archive.tar and backup.tar differ
Files the same, exiting
/tmp/abcQATest>
Os arquivos binários que diferem, mas, depois, por algum motivo ela sempre vai para a segunda parte da declaração se.

Última edição por cbo0485; em 11/06/2008 05:17..
  #4 (permalink)  
Old 11-06-2008
BubbaJoe's Avatar
BubbaJoe BubbaJoe is offline
Usuário
  
 

Join Date: Oct 2008
Localização: St Louis
Lugares: 153
Acredito que você tem que usar o parâmetro-a sobre o comando diff para comparar os binários.
  #5 (permalink)  
Old 11-07-2008
cbo0485 cbo0485 is offline
Usuário
  
 

Join Date: Mar 2008
Lugares: 87
Citação:
Originally Posted by BubbaJoe View Post
Acredito que você tem que usar o parâmetro-a sobre o comando diff para comparar os binários.
Funcionou, mas agora mesmo archive.tar e backup.tar são os mesmos, ele diz que os seus diferentes e é executado no primeiro bloco, em vez de apenas fazer o que afirma echo "Arquivos do mesmo, saindo";

Código:
diff archive.tar backup.tar > tmp
if [ -a tmp ]; then
/tmp/abcQATest/abcMoveTest.sh archive.tar /tmp/archive.tar
echo "Files different, transferring files"
cat archive.tar > backup.tar
else
echo "Files the same, exiting";
fi
  #6 (permalink)  
Old 11-07-2008
cbo0485 cbo0485 is offline
Usuário
  
 

Join Date: Mar 2008
Lugares: 87
Aqui está o meu último código eu tenho trabalho.


Código:
cmp archive.tar backup.tar > /dev/null
if [[ $? -eq 1 ]]; then
/tmp/abcQATest/abcMoveTest.sh archive.tar /tmp/archive.tar
echo "Files different, transferring files"
cat archive.tar > backup.tar
else
echo "Files the same, exiting";
fi
Closed Thread

Marcadores

Thread Tools Pesquisar este Thread
Pesquisar este Thread:

Pesquisa Avançada
Display Modes Esta taxa Thread
Esta taxa Thread:

Destacamento Regimento
Você não pode postar novas threads
Você não pode postar respostas
Você não pode postar anexos
Você não pode editar suas postagens

BB code é Ligado
Smilies são Ligado
[IMG] código é Ligado
Código HTML é Desligado
Trackbacks são Ligado
Pingbacks são Ligado
Refbacks são Ligado




Todos os horários são GMT -4. A hora é agora 11:44.


Powered by: vBulletinCopyright © 2000 - 2006, Jelsoft Enterprises Limited. Língua Traduções Powered by .
vBCredits v1.4 Copyright © 2007 - 2008, PixelFX Studios
O UNIX e Linux Fóruns Content Copyright © 1993-2009. Todos os Direitos Reserved.Ad Gestão por RedTyger

Content Relevant URLs por vBSEO 3.2.0