リモートのタイムスタンプがローカルと異なる場合にのみ、FTP サイトからファイルをプルする bash スクリプトに取り組んでいます。ファイルを配置した後、samba (smbclient) 経由でファイルを他の 3 台のコンピューターにコピーします。
すべてが機能しますが、 wget -N ftp://insertsitehere.comがリモート上のファイルが新しくないという値を返しても、ファイルはコピーされます。新しいバージョンが FTP からプルされた場合にのみコピーが行われるように、スクリプトの出力を確認する最善の方法は何でしょうか?
理想的には、wget -N コマンドと同じように、コンピューターへのコピーでタイムスタンプを保持したいと考えています。
これが私が持っているものの例です:
#!/bin/bash
OUTDIR=/cats/dogs
cd $OUTDIR
wget -N ftp://user:password@sitegoeshere.com/filename
if [ $? -eq 0 ]; then
HOSTS="server1 server2 server3"
for i in $HOSTS; do
echo "Uploading to $i..."
smbclient -A /root/.smbclient.authfile //$i/path -c "lcd /cats/dogs; put fiilename.txt"
if [ $? -eq 0 ]; then
echo "Upload to $i successful..."
else
echo "There was an issue uploading to host $i..."
fi
done
else
echo "There was an issue with the FTP Download...."
exit 1
fi