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_MNTPOINT
adalah drive yang terpasang secara lokal. $BACKUP_MNTPOINT/$USER_HOME
memang memiliki hak kepemilikan dan izin. Baik $USER_HOME
atau $BACKUP_MNTPOINT
diakhiri dengan garis miring.
Sumber dan sistem file target adalah XFS dan menjalankan mkdir $BACKUP_MNTPOINT/$USER_HOME
menciptakan direktori dengan kepemilikan yang diharapkan.
/home
dan drive cadangan. Sejauh ini saya pikir itu hanya terjadi pada direktori induk. Baik $BACKUP_MNTPOINT
atau $USER_HOME
diakhiri 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/foo
buat direktori dengan kepemilikan pengguna.
strace
(sebagaimana ditentukan dalam jawaban semu).
$BACKUP_MNTPOINT
dan dengan opsi apa ia di-mount? Apakah ini hanya terjadi pada$BACKUP_MNTPOINT/$USER_HOME
direktori parent ( ) atau untuk semua direktori yang dibuat? Lakukan$BACKUP_MNTPOINT
dan$USER_HOME
akhiri dengan/
?