web-dev-qa-db-ja.com

FTPを介したファイルの同期

コンピューター内のファイルを、FTPアクセスしかないサーバーと同期する必要があります。だから私はrsyncを使用できません(少なくともSFTPが必要ですが、私が利用できる唯一のチャネルはプレーンなバニラFTPです)。

マシンからサーバーへの一方向の同期のみが必要です。 nisonというプログラムを聞いたことがありますが、これは双方向の同期を目的としているようで、自分のやりたいことを実行するように調整できるかどうかはわかりません。また、スクリプト内で使用できるように、プログラムは非対話的に動作する必要があることも追加する必要があります。

最後のオプションは、ファイルを変更時間(またはそのようなもの)で比較し、変更されたファイルをコピーする自分のスクリプトを作成することです。私はすでにFTPディレクトリをローカルディレクトリにマウントすることに成功したので、問題は2つのディレクトリを同期するだけに要約されます。しかし、私の直感は、そのようなものがすでに野生に存在しているに違いないと私に告げています。

11
Rene Saarsoo

wputを機能させることができなかったので、別の方法を探して、 ncftp を見つけました。

より具体的には ncftpput は、wputが行うように設計されたものとほぼ同じように見えました。私にとって最も重要なことは、wputのようにクラッシュしなかったことです。そして実際、-zオプションを使用して変更されていないファイルのみをアップロードすることができます。

ncftpput -z -u user -p pass ftp.mydomain.com dir/name files-to-upload...
14
Rene Saarsoo

lftpもここで適切だと思われます: https://stackoverflow.com/a/693280/480534

概要:

lftp <username>@<server>
  mirror -c <source> <dest>
  exit
4
Robert Muil

確かに、それは wput と呼ばれます

3
user7963