Saya menggunakan doa rsync ini untuk membuat cadangan direktori home saya:
rsync -aARrx --info= --force --delete --info=progress2 -F "$USER_HOME" "$BACKUP_MNTPOINT"
Halaman manual rsync mengatakan bahwa -a menyiratkan -g dan -o (di antara sakelar lain), yang harus mempertahankan kepemilikan. Namun saya perhatikan bahwa jika direktori tidak ada di bawahnya $BACKUP_MNTPOINT/$USER_HOME, direktori tersebut dibuat dengan root: kepemilikan root alih-alih yang benar. (Ini hanya terjadi dengan direktori di bawah $BACKUP_MNTPOINT/$USER_HOME). Mengapa demikian?
$BACKUP_MNTPOINTadalah drive yang terpasang secara lokal. $BACKUP_MNTPOINT/$USER_HOMEmemang memiliki hak kepemilikan dan izin. Baik $USER_HOMEatau $BACKUP_MNTPOINTdiakhiri dengan garis miring.
Sumber dan sistem file target adalah XFS dan menjalankan mkdir $BACKUP_MNTPOINT/$USER_HOMEmenciptakan direktori dengan kepemilikan yang diharapkan.
/homedan drive cadangan. Sejauh ini saya pikir itu hanya terjadi pada direktori induk. Baik $BACKUP_MNTPOINTatau $USER_HOMEdiakhiri dengan garis miring. EDIT: Saya dapat mengkonfirmasi sekarang ini hanya terjadi pada direktori di bawah ini$BACKUP_MNTPOINT/$USER_HOME
mkdir $BACKUP_MNTPOINT/$USER_HOME/foobuat direktori dengan kepemilikan pengguna.
strace(sebagaimana ditentukan dalam jawaban semu).
$BACKUP_MNTPOINTdan dengan opsi apa ia di-mount? Apakah ini hanya terjadi pada$BACKUP_MNTPOINT/$USER_HOMEdirektori parent ( ) atau untuk semua direktori yang dibuat? Lakukan$BACKUP_MNTPOINTdan$USER_HOMEakhiri dengan/?