lftp

rsyncの代わりに使える
mirror 日付のチェックのみ?

http://memo.jj-net.jp/142

そこで,単純にファイルの更新時刻を使って,転送の要/不要を判断するような方法としてFTPを使ったミラーリングを使いました.

FTPミラー(ftp mirror)にはlftpコマンドのスクリプトを用いました.本来,lftpは対話的に利用するftpクライアントです.対話的に利用する場合にコマンドプロンプトに入力するコマンド列をファイルに保存し,-f オプションで渡すとftpバッチ処理を実行できます.

さらに,lftpは内部コマンドとしてミラーリングを実現する mirror と言うコマンドがあります.そこで以下のようなlftpスクリプトを書きました.



open -u daresore,passwd ftp.example.com

mirror --delete --only-newer /some/where/ /copy_of_/some/where

close

quit


open で同期基のftpサーバ(ftp.example.com)に接続します.daresoreはユーザ名,passwdはftpサーバに接続するためのパスワードです.mirrorコマンドのオプション --delete はローカルに在ってftpサーバ上にないファイルを削除すし,--only-newerは更新時刻がローかより新しいものだけFTPで転送します.