rsync root - 同期ファイルの所有権が変更されますか?

rsync root - 同期ファイルの所有権が変更されますか?

rsyncを使用して古いホームフォルダをバックアップドライブに同期します。 rsyncをrootとして使うつもりです。コピーしたファイルなどの所有権が変更されないようにする方法はありますか?

答え1

-oとオプションが利用可能です-g。 ~から手動rsyncman rsync:

-o--owner 所有者を維持する(スーパーユーザーのみ)

-g--group 予約済みグループ

さらに、一般的に使用されるオプションは/オプションrsyncです。このオプションは、次のオプションを意味します。-a--archive-rlptgoD

-r--recursive ディレクトリに再帰

-l--links シンボリックリンクをシンボリックリンクにコピーします。

-p--perms 権限の維持

-t--times 修正時間を維持

-D--devices --specials(デバイスファイル保持、特殊ファイル保持)と同じ

答え2

「すべて」、ファイルの内容、ファイルの所有権と権限、ディレクトリ、シンボリックリンクなどを保存するには、次のコマンドラインを使用します。このようにして、システムを新しいドライブにコピーして別のコンピュータで実行できました。さて、ブートローダも修正する必要がありましたが、ファイルの内容、所有権、権限がうまくコピーされました。

  • ソースディレクトリの末尾のスラッシュを確認し、 でこれについて読んでくださいman rsync
          rsync -avz foo:src/bar/ /data/tmp

   A  trailing slash on the source changes this behavior to avoid creating
   an additional directory level at the destination.  You can think  of  a
   trailing / on a source as meaning "copy the contents of this directory"
   as opposed to "copy the directory by  name",  but  in  both  cases  the
   attributes  of the containing directory are transferred to the contain‐
   ing directory on the destination.  In other words, each of the  follow‐
   ing  commands copies the files in the same way, including their setting
   of the attributes of /dest/foo:

          rsync -av /src/foo /dest
          rsync -av /src/foo/ /dest/foo

   Note also that host and module  references  don’t  require  a  trailing
   slash to copy the contents of the default directory.  For example, both
   of these copy the remote directory’s contents into "/dest":

          rsync -av host: /dest
          rsync -av host::module /dest

   You can also use rsync in local-only mode, where both  the  source  and
   destination  don’t have a ’:’ in the name. In this case it behaves like
   an improved copy command.
  • -n、「テストの実行」から始めて、すべてが正しいことを確認してください。

    sudo rsync -Havn source/ target
    
  • オプション(-n)を削除し、適切rsyncな操作を実行してください。

    sudo rsync -Hav source/ target
    

ターゲットのすべてのディレクトリ/ファイルが存在し、最新であることを確認し、更新する必要がある項目のみをコピーします(バックアップシナリオで)。


  • -Hハードリンクを追跡しますが(ドライブスペースが節約されます)、コピープロセスが遅くなります(含まれていない理由)。-a
  • -aファイルシステム内のファイルの「すべての内容」(ハードリンクを除く)を保存するバックアップ目的の標準アーカイブオプション。
  • -vコピーするすべてのファイルを印刷する古典的な冗長なオプションです。進行状況を監視するために好む他のオプションがあります。長いコンテンツをオフにするのが良いかもしれませんが、初期段階ですべてが期待どおりに機能していることを確認することをお勧めします。

答え3

私は使う

sudo rsync -HavE /SOURCE /DEST

これは、バックアップに実行可能なbash .shスクリプトがあるためです。

-HavEという略語は「HavEverything」を覚えるのに役立ちます。

この略語は-HavEn「HavEverything」を安全に覚えるのに役立ちます。

-E, --executability 実行可能性を維持します。

@sudodus 回答ありがとうございます。

ケビン

関連情報