rsyncとファイルパーミッション(chmod + x)を同期させるにはどうすればいいですか?


5

ファイルのアクセス権をrsyncと同期させるのに問題があります。 リモートマシンの/ home / binフォルダと/ home / binフォルダを同期しようとしています。問題は、新しいスクリプトを作成して 'chmod + x'で実行可能にすると、rsyncを実行した後に、ファイルが実行不可能に戻ることです。

--permsを使用した場合、リモートマシンのファイルパーミッションを更新してからホストマシンのrsyncを使用すると、ファイルパーミッションはホストマシンでもリモートマシンでも更新されず、元に戻ります。

ファイルのアクセス許可を正しく同期する方法はありますか?

更新 :私が使ったスクリプトを投稿するのを忘れていました:

#!/bin/bash                                                                     

rsync -e ssh -avz --recursive --progress --update --perms /home/bin username@example.com:/home                                                                              
rsync -e ssh -avz --recursive --progress --update --perms username@example.com:/home/bin /home

回答:


2

ここでのあなたの基本的な問題はそれだと思います rsync 双方向の同期には向いていません。概念的に異なるいくつかの解決策をお勧めしますが、そうでなければあなたは自分自身を駄目にし続けるでしょう。

  • あなたが使用して調べることができます Unison。それはのように機能します rsync しかし、2つの同期を言うために設計されています。
  • いっそのこと、のようなソース管理システムの使用に見て git。これは設定ファイルやあなたの個人的なスクリプトのようなもののために特に役に立ちます。あなたがそれらを使用するそれぞれのマシンは別々のチェックアウトを持つでしょう、そしてバージョン管理はあなたが常に一つのソースからデータが壊れているのではなく複数の異なる変更をマージすることを含む時間までに常に最新の変更があることを確認します。
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.