いくつかのファイルを含むフォルダがあり、Webサーバーにいくつかのスペースがあります。 Linuxでは、ローカルフォルダとリモートフォルダ間の変更時にのみ双方向同期を実行したいと思います。どうすればいいですか?ところで、サーバーには何もインストールできません。すべての意図と目的のために、それは単なるスペースです。
注:静かに起こるようにrsaキーペアを設定しました。
答え1
一方向同期用に選択したツールは rsync で、双方向同期用に選択したツールは次のとおりです。調和。両方とも両方の実行可能ファイルを使用できる必要があります。サーバー側でファイルを実行可能にできる場合は、適切なバイナリを削除して実行可能にします。
ローカルにLinux、* BSD、Solaris、またはMac OS Xがある場合は、次のものを使用できます。ヒューズWebサーバー空間をローカルファイルシステムのように見せるファイルシステムsshfsSSHアクセス権があるようで、機能する必要があります。それから「基本的に」unisonを使用しなさい。
さらに、ほとんどのバージョン管理ソフトウェア(CVS / Subversionおよび分散VCS)には同期機能(あるシステムでチェックインし、別のシステムでチェックアウト)があります。
答え2
サーバーにインストールされている場合は、rsync
そのビルドを使用して操作を実行します。
双方向にするには、次のようにします(で引用)。http://forums11.itrc.hp.com/service/forums/questionanswer.do?admit=109447626+1285799008594+28353475&threadId=1278777):
すべてのサブディレクトリを含むディレクトリをon/src/foo
に双方向に同期するには、次のコマンドをonで実行できます。hostA
/dest/foo
hostB
hostA
rsync -auz /src/foo hostB:/dest
rsync -auz hostB:/dest/foo /src
最初のコマンドは、すべての最新のファイルhostA
をhostB
。
2番目のコマンドはすべての最新のファイルをインポートhostB
しますhostA
。主なオプションは次のとおりです。
コピー時にファイルの変更時間を保存する必要があります。-a
これと違うことをしなさい。
編集時間だけを維持するには、代わりにを使用してください-t
。
ターゲットから最新のファイルをスキップするには、-u
次の手順を実行します。
答え3
これは、2つのフォルダ間で同期する必要があるたびにrsync
非常に柔軟なオプションです。問題は、rsyncがftpプロトコルをサポートしていないことです。良い解決策はカルフトププス:
CurlFtpFSは、FTPホストにアクセスするためのFUSEとlibcurlに基づくファイルシステムです。
カールFtpFsを使用すると、ファイルシステムにリモートのftpフォルダを簡単に含めることができます。
以下は、2つのツールの使用法を示す簡単な例です。
curlftpfs -r -s ftp.foobar.com /foo
rsync -a /foo/ /bar
umount /foo
詳しくはマンページをご覧ください。
カールFtpFSインストールの問題を経験したくなく、いくつかのファイルを同期したままにしたい場合は、これらの同期機能を提供するいくつかのFTPツールがあります。
- FTPSync.pl- ローカルディレクトリとリモートディレクトリを同期したままにするシンプルなPERLスクリプト
- ウィック- Webページを更新するための非対話型FTPクライアント
- ファイルジラ- さまざまな機能を備えたGUI FTPクライアント
- ...