rsyncを使用して古いホームフォルダをバックアップドライブに同期します。 rsyncをrootとして使うつもりです。コピーしたファイルなどの所有権が変更されないようにする方法はありますか?
答え1
-o
とオプションが利用可能です-g
。 ~から手動rsync
(man 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 回答ありがとうございます。
ケビン