The UNIX and Linux Forums  


Go Back   Die UNIX-und Linux-Foren > Top Foren > Shell Programmierung und Scripting
.
Google unix.com



Shell Programmierung und Scripting Post Fragen zu ksh, csh, sh, bash, Perl, PHP, sed, awk und anderen Shell-Skripte und Shell-Scripting-Sprachen hier.

Mehr UNIX-und Linux-Forum Themen Vielleicht finden Sie hilfreiche
Faden Thread Starter Forum Antworten Last Post
Log-Datei nicht immer aktualisiert KornFire High-Level-Programmierung 4 10-21-2008 04:12 AM
Finden Sie zuletzt aktualisiert Datei callimaco0082 UNIX for Dummies Questions & Answers 4 09-04-2008 11:17 AM
Check-out aktualisierten Datei asadlone Shell Programmierung und Scripting 3 05-08-2008 05:16 AM
/etc / utmp-Datei nicht aktualisiert wird mit Booten Details jyoti_mil UNIX für Fortgeschrittene und Experten 1 06-11-2007 11:41 AM
Erstellen einer Datei aktualisiert dbfree Shell Programmierung und Scripting 4 09-30-2005 04:23 AM

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 Suche diesen Thread Rate Thread Anzeige-Modi
  #1 (permalink)  
Old 11-06-2008
cbo0485 cbo0485 is offline
Registrierte Nutzer
  
 

Join Date: März 2008
Beiträge: 87
Wenn Datei wurde aktualisiert, tun Sie etwas?

Setzen Sie diese gemeinsam von woanders auf den Foren, gerade geändert und ergänzt die Schleife.


Code:
#!/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
Dieses Skript wird, die von einem anderen Skript durch einen Cron-Job alle 5 Minuten:

Code:
/tmp/abcQATest/abcMoveTest.sh archive.tar /tmp/archive.tar
Wie auch immer, ich habe mich gefragt, wenn es eine Möglichkeit, sie ein wenig besser. Derzeit einfach ftp ist das statische Datei alle 5 Minuten, unabhängig davon, ob die Datei aktualisiert wurde oder nicht. Die Art, wie es jetzt funktioniert ist, wenn jemand benötigt, um ein Update für die 4-Server ist, dass dieses Skript auf der FTP, sie einfach ihre Drop-Archiv-Datei (namens archive.tar) an die / tmp / abcQATest /-Verzeichnis, und dann innerhalb von 5 Minuten die crontab läuft und die FTP-Datei auf ihren Server 1-4 auf der / tmp / archive.tar Lage.

Gibt es eine Möglichkeit, diese bis es nur so ist der FTP-Datei, wenn es hat sich seit der letzten Zeit den FTP-lief? Auf diese Weise, wenn es aktualisiert wird, ändert es sich die FTP'd einmal, aber dann nicht FTP'd wieder, es sei denn, die Datei hat sich geändert?

Dann auf der anderen 4-Server, habe ich auch etwas davon:

Code:
If /tmp/archive.tar has been updated

do something
.
.
else
endif
Die etwas ist nur ein paar schnelle Bewegungen, Auszüge und löscht, das ist keine große Sache. Es ist if-Anweisung Ich bin ratlos auf.
  #2 (permalink)  
Old 11-06-2008
sumeet sumeet is offline
Registrierte Nutzer
  
 

Join Date: Nov 2006
Beiträge: 33
cat datei1> datei2

können sagen, datei1 wird aktualisiert.

diff datei1 datei2> datei3.

if [-s datei3]
etwas tun. (in Ihrem Fall FTP)
fi

Danke
Sumeet
  #3 (permalink)  
Old 11-06-2008
cbo0485 cbo0485 is offline
Registrierte Nutzer
  
 

Join Date: März 2008
Beiträge: 87
Script:

Code:
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
Ergebnisse:

Code:
/tmp/abcQATest>./autoMoveScript.sh
Binary files archive.tar and backup.tar differ
Files the same, exiting
/tmp/abcQATest>
Die binären Dateien kann unterschiedlich sein, aber dann aus irgendeinem Grund geht es immer auf den zweiten Teil der if-Anweisung.

Zuletzt bearbeitet von cbo0485; am 11-06-2008 05:17 PM..
  #4 (permalink)  
Old 11-06-2008
BubbaJoe's Avatar
BubbaJoe BubbaJoe is offline
Registrierte Nutzer
  
 

Join Date: Oct 2008
Ort: St. Louis
Beiträge: 153
Ich glaube, müssen Sie die Parameter für das diff Kommando, um Binärdateien.
  #5 (permalink)  
Old 11-07-2008
cbo0485 cbo0485 is offline
Registrierte Nutzer
  
 

Join Date: März 2008
Beiträge: 87
Zitat:
Zitat von BubbaJoe View Post
Ich glaube, müssen Sie die Parameter für das diff Kommando, um Binärdateien.
Es funktioniert, aber jetzt, auch wenn archive.tar und backup.tar sind die gleichen, heißt es ihren unterschiedlichen und es läuft der erste Block, anstatt nur das tun, das Echo in dem es heißt, "die gleichen Dateien, Beenden";

Code:
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
Registrierte Nutzer
  
 

Join Date: März 2008
Beiträge: 87
Hier ist meine letzte Code ich arbeiten.


Code:
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

Lesezeichen

Thread Tools Suche diesen Thread
Suche diesen Thread:

Erweiterte Suche
Anzeige-Modi Rate this thread
Rate this thread:

Forumregeln
Du möglicherweise nicht neue Themen
Du möglicherweise nicht nach Antworten
Du möglicherweise nicht post-Anlagen
Du möglicherweise nicht bearbeiten Sie Ihre Beiträge

BB-Code ist Auf
Smilies sind Auf
[IMG] Code Auf
HTML-Code ist Aus
Trackbacks sind Auf
Pingbacks sind Auf
Refbacks sind Auf




Alle Zeiten sind GMT -4. Es ist jetzt 07:16 PM.


Powered by: vBulletin, Copyright © 2000 - 2006, Jelsoft Enterprises Ltd. Sprachliche Übersetzungen Powered by .
vBCredits v1.4 Copyright © 2007 - 2008, PixelFX Studios
Die UNIX-und Linux-Foren Content © Copyright 1993-2009. Alle Rechte Reserved.Ad Management von RedTyger

Content Relevant URLs durch vBSEO 3.2.0