|
Если файл был обновлен, делать-то??
Поместите это вместе откуда-то еще на форумах, просто изменить его и добавил петли.
Код:
#!/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
Этот скрипт называется другой скрипт через хрон работу каждые 5 минут:
Код:
/tmp/abcQATest/abcMoveTest.sh archive.tar /tmp/archive.tar
Любом случае, мне было интересно, существует ли какой-либо образом сделать его немного лучше. В настоящее время это просто FTP это статический файл каждые 5 минут, независимо от того, если файл был обновлен или нет. Как это работает сейчас, если кто-то должен сделать обновление на 4 сервера, что этот сценарий в FTP, они просто бросать архивный файл (с именем archive.tar) к / TMP / abcQATest / каталога, а затем в течение 5 минут Crontab и запускает FTP в своих файлов на сервер 1-4 в / TMP / archive.tar месте.
Есть ли способ установить это так, это только FTP в файл, если он был обновлен с момента последнего FTP побежал? Таким образом, если он получает обновлена, то получите в FTP'd раз, но тогда он не получает FTP'd еще раз, если файл был изменен?
Затем, с другой стороны 4-серверов, я также необходимо нечто вроде этого:
Код:
If /tmp/archive.tar has been updated
do something
.
.
else
endif
В сделать что-то часть всего несколько быстрых шагов, извлекает и удаляет, что нет ничего сложного. Это заявление, если я на тупик.
|