2012-01-28 57 views
52

私はserver2のディレクトリBを持つserver1のディレクトリAをrsyncしようとしています。rsyncが同期していない.htaccessファイル

server1のディレクトリAに座って、次のコマンドを実行しました。

rsync -av * server2::sharename/B 

が、興味深いのは、それが.htaccessファイルやサブディレクトリ内の任意の隠しファイルが同期取得のディレクトリAの任意の隠しファイルを除くすべてのファイルとディレクトリを同期化、です。

私はまた、次のコマンドを試してみました:

rsync -av --include=".htaccess" * server2::sharename/B 

をが、結果は同じです。

なぜAディレクトリの隠しファイルが同期していないのか、それを修正する方法私はrootユーザーとして実行しています。

おかげ

+1

私は1つの答えに満足しています。あなたはそれを受け入れるべきです:http://meta.stackexchange.com/questions/5234/how-does-accepting-an-answer-work – Kutzi

答えて

71

これは*は名前がドットで始まるファイルを除いて、現在の作業ディレクトリ内のすべてのファイルを展開し、デフォルトであるという事実によるものです。したがって、rsyncは引数としてこれらのファイルを受け取ることはありません。

あなたはrsyncに現在の作業ディレクトリを示す.を渡すことができますように展開するもの*でそれらを探しているとは対照的に、

rsync -av . server2::sharename/B 

この方法rsyncは、現在の作業ディレクトリに転送するファイルを探します。

また、あなたは*は、ドットで始まるものを含むすべてのファイルに拡張するために、次のコマンドを使用することができます。

shopt -s dotglob 

shopt manpageを参照してください。

+4

確かに '。'問題を解決します。 'rsync -avz [email protected]:/ remote/path /です。/destination/path'はジョブを実行します –

2

*は、rsynchに隠しファイルを同期させないように指示します。あなたはそれを省略しようとしましたか?

3

私はこの問題がシェルのワイルドカード拡張によるものだと思います。つかいます 。星の代わりに

は、シェルのワイルドカードの展開は、rsyncのプログラムは、コマンドを開始する前に

-av a.html z.js server2::sharename/B 

-av * server2::sharename/B 

から取得する引数リストを変換

$ ls -a . 
. .. .htaccess a.html z.js 

次の例のディレクトリの内容を考えてみましょう実行される。

31

サーバー間でディレクトリを同期しようとしているすべてのユーザー(すべての隠しファイルを含む)。、宛先サーバ上somedirBsource-serversomedirAを同期 - この試みる:両方のパスの末尾にスラッシュを注意

rsync -avz -e ssh --progress [email protected]:/somedirA/ somedirB/ 

他の構文では予期しない結果につながる可能性があります。また


、それは私が適切な書き込みアクセスを持っていることを確認する方が簡単ですので、先サーバからrsyncのコマンドを実行することが私のためにその最も簡単な(つまり、私は上記のコマンドにsudoを追加する必要がある場合があります)。

おそらく言うまでもありませんが、リモートユーザーもソースサーバー上でsomedirAへの読み取りアクセス権が必要です。 :)

+0

'.htaccess'ファイルを同期するのは-eフラグですか? –

+0

@JesseBurcsikいいえ、 '-e ssh'は接続の方法を指定します。 – tripleee

+0

あなたはソースにスラッシュが必要です。宛先は関係ありません –

9

私は同じ問題がありました。私にとって

私は、次のコマンドをしたとき、隠しファイルが

rsync -av /home/user1 wobgalaxy02:/home/user1 

をrsync'edませんでしたしかし、私はパスの末尾にスラッシュを追加したときに、隠しファイルをrsync'edました。

rsync -av /home/user1/ wobgalaxy02:/home/user1/ 

注経路の終わりにスラッシュは、ブライアン・レイシーは、スラッシュキーであることを特徴として。私は彼のポストにコメントする評判がない、または私はそれをしただろう。

関連する問題