GNU/Linux >> Linux の 問題 >  >> Linux

Rsync:絶対シンボリックリンクを再配置する方法は?

rsyncのマンページと、ここserverfaultに関するいくつかの関連する質問を詳しく調べました。 -Rと-Lと-lのオプションで遊んだことがありますが、運がありません。

ここに質問があります:ローカルからリモートにディレクトリを送信するとき、リモートマシンの宛先ディレクトリを基準にするようにローカルディレクトリを基準にしてシンボリックリンクを再配置するオプション(またはオプションコンボ)はありますか?

これが私が送りたいものの最小限の例です:

ローカルディレクトリ: /home/bob/foo

/home/bob/foo/a --> /home/bob/foo/bar
/home/bob/foo/bar

これが私がどのように実現したいのか

リモートディレクトリ: /u/apps/foo

/u/apps/foo/a --> /u/apps/foo/bar
/u/apps/foo/bar

たとえば、rsync -az /home/bob/foo/ remote:/u/apps/foo/ 完全には行いません。最終的に:

/u/apps/foo/a --> /home/bob/foo/bar
/u/apps/foo/bar

/home/bob/foo/barかどうか リモートマシンに存在するかどうかは関係ありません。どちらの場合でも、結果は間違いなく私が必要とするものではありません。

承認された回答:

リンクが絶対パスへのリンクである場合、それを回避する方法はありません。シンボリックリンクを相対的なものにすることで回避できます:

/home/bob/foo/a --> ./bar
/home/bob/foo/bar

ただし、これらのリンクを生成する方法とリンクの数によっては、それが難しい場合があります。


Linux
  1. Rsync プロセスをバックグラウンドで実行する方法

  2. tar の絶対パスを除外するにはどうすればよいですか?

  3. 単一のファイルを RSYNC するには?

  1. Linux Rsync(リモート同期)コマンドの使用方法

  2. Windows PC からリモート Linux サーバーに rsync を使用する方法は?

  3. Rsync による暗号化されたリモート バックアップ?

  1. LinuxにリモートWindows共有をマウントする方法

  2. Rsyncを選択的に消音する方法は?

  3. Rsyncコマンドをスケジュールする方法は?