windows8PCにActivePerl5.18を入れてPerlのNet::FTPで、
PCのファイルが新しければサーバにUPする処理をしたいです。
$ftp->put(PCファイル名,サーバファイル名)
でUPは出来るのですが常に上書き転送になります。
PCファイルの日付の新しいファイルだけを上書きUPするには一発でいく
命令があるのか、それとも1つ1つ比較してUPするのでしょうか?
PCファイルはstatのlocaltimeで更新日時を取得出来ましたが
サーバー側のファイルでは
$ftp->dir;等で、ファイル一覧の取得しか自分は出来ませんでした。
「パーミション 所有者 サイズ 日時 ファイル名」等が列挙されるのですが
それを分解してファイル名と日時を取り出し、ローカルタイムスタンプと比較して
UPするといけるとは思うのですが、知らない為に面倒な事をしてる気がします。
スマートに更新日時が新しいファイルだけ転送する方法があれば教えてください。
FTPソフトを使う等ではなくperlのftpで行いたいです。
又はWindowsのバッチftpのほうが簡単に行えるならそちらでも良いです。
Net::FTPのmdtmメソッドでリモートファイルの更新日時が取得できるようです。
$ftp->mdtm(FILE)
Net::FTPのmdtmメソッドでリモートファイルの更新日時が取得できるようです。
$ftp->mdtm(FILE)
取得できました、助かりますありがとうございます!
取得できました、助かりますありがとうございます!
2015/04/20 08:39:17