フォルダがあります。
このフォルダのコピーはローカルにあり、サーバーにもコピーがあります。必要に応じてローカルフォルダを編集し、同期サーバーです。
ローカルとリモートの2つのコピーを比較し、ローカルコピーの代わりにリモートコピーのファイルリストを取得する方法はありますか?
答え1
ローカルコンピュータで実行される次のrsyncコマンドは、リモートホストには存在するがローカルホストにはないファイルを一覧表示します。
rsync -av --dry-run --delete somedir/ user@remote:~/somedir/
この--dry-run
スイッチは実際には何もせずにファイルのみを一覧表示し、(verbose)と組み合わせたこの--delete
スイッチは、-v
ユーザーが望むローカルホストではなくリモートホストに存在するため、削除されるファイルを一覧表示します。
答え2
Unisonファイル同期デバイス難しい作業を行うには、rsync アルゴリズムを使用します。私は毎日それを使用しています。
答え3
rsync を実行するための ssh キーがすでにある場合は、リモート ssh コマンドを実行し、ディレクトリ内のファイルを一覧表示し、ローカルディレクトリのコピーと比較できます。
ssh [email protected] ls -1 ~/foo > /tmp/remote.txt && ls -1 ~/foo > /tmp/local.txt && diff /tmp/remote.txt /tmp/local.txt
diffの出力をパイプで接続するための追加クレジット色の違い美しくなるために。