Unixサーバーから他のUnixサーバーに最新のファイルだけを入手するにはどうすればよいですか?
SFTP経由でサーバー2に接続し、タイムスタンプをチェックするためにforループを適用しようとしましたが、これは機能しません。
sftp $SERVER2 << !EOF
cd $Server2_FILE_LOCATION
echo Pwd File location: $pwd
LastUpdatedTS=$(grep "value of TimeStamp is" /root/airtelSnD/BoTreeScript/BotreeLastFileTS.txt | cut -d'=' -f2)
echo 1
for file in mad_*.*
do
CurrentFileTS=$(stat -c %Y $file |awk '{print strftime( "%Y%m%d%H%M%S", $1 )}')
echo 2
echo TS of last updated file is : $LastUpdatedTS
echo value CurrentFileTS is $CurrentFileTS
echo 3
if [[ $CurrentFileTS -gt $LastUpdatedTS ]]
then
echo if......
mget $file $DESTINATION_SERVER
echo value of TimeStamp is=$CurrentFileTS > $LASTFILE_TS
else
echo else...
fi
done
quit
!EOF
次の質問に対するbolDの回答は、あなたの興味を引くかもしれません。 宛先の既存ファイルの置き換えなしのscp
—
PetaspeedBeaver
sftp
環境。 (それはのように見えます$Server2_FILE_LOCATION
そして$DESTINATION_SERVER
それが適用される唯一のものです。)