rsync は -a を使用してもディレクトリの所有権を保持しません。

rsync は -a を使用してもディレクトリの所有権を保持しません。

この rsync 呼び出しを使用してホームディレクトリをバックアップします。

rsync -aARrx --info= --force --delete --info=progress2 -F "$USER_HOME" "$BACKUP_MNTPOINT"

rsync のマニュアルページに -a は、所有権を維持する必要がある -g および -o (およびその他のスイッチ) を意味することを示しています。しかし、ディレクトリがその下に存在しない場合、$BACKUP_MNTPOINT/$USER_HOME正しい所有権ではなくルート:ルート所有権として作成されることがわかりました。 (これはすぐ下のディレクトリでのみ発生します$BACKUP_MNTPOINT/$USER_HOME)。なぜそんなことですか?

$BACKUP_MNTPOINTローカルにマウントされたドライブ。$BACKUP_MNTPOINT/$USER_HOME正しい所有権と権限が必要です。スラッシュ$USER_HOMEで終わることもありません。$BACKUP_MNTPOINT

ソースファイルとターゲットファイルシステムの両方がXFSであり、ランタイムはmkdir $BACKUP_MNTPOINT/$USER_HOME予想される所有権を持つディレクトリを作成します。

ベストアンサー1

rsyncBackup System to Serverを使用して同様の問題が発生しました。私は以下を使用しました:

rsync -aAXSHPr \
-e ssh \
--rsync-path="sudo /usr/bin/rsync/" \
--numeric-ids \
--delete \
--progress \
--exclude-from="/path/to/file/that/lists/excluded/folders.txt" \
--include-from="/path/to/file/that/lists/included/folders.txt" \
/ USER@SERVER:/path/to/folder/where/backup/should/go/

解決策は実際に問題がないということです。rsync無効な権限が設定されたフォルダが作成されたことを確認した後、プロセスを中断したようです。重要なことは、rsyncすべてのサブフォルダーとファイルを同期した後にのみ親フォルダーの権限を設定することです。

おすすめ記事