[K12OSN] Way OT: scripting help
Les Mikesell
les at futuresource.com
Wed May 23 17:38:47 UTC 2007
Dimitri Yioulos wrote:
> Well actually, on second thought, I want my script to check to see if the file
> from the business partner is has been uploaded - the partner can be delayed,
> hence no file to transfer. The script is set to fire off at 9:10PM via cron.
> So, the transfer part of the script says "if the file isn't here, wait 15
> minutes, then transfer, otherwise transfer". In theory, that should give the
> partner enough time to get the result file to us. However, that's not
> fool-proof - the partner could be delayed more than 15 minutes. So, from
> what I've read, maybe a "do while" construct would work better. But, of
> course, I'm not sure how to write that either. Anyway, if I use the "if
> then" contruct, as I currently have in my script, it still leaves me with
> finding a way to verify transfer.
I didn't quite follow the logic of what you are testing. If you want to
test if a file transfer from the box running the script worked you can
just repeat it with rsync - if it's already there the operation is very
cheap. If you want to test if a file is available on the other system
you can run the rsync to get it, then look at your directory contents.
while [ ! -e $FILENAME ]
do
rsync -essh othermachine:/path/$FILENAME . || sleep 900
done
I usually try to write things so they do something sensible even if run
at the wrong time or too often and just schedule several runs from cron
instead of letting them wait, though.
--
Les Mikesell
les at futuresource.com
More information about the K12OSN
mailing list