Jadi saya akan mencadangkan folder rumah saya dengan menyalinnya ke drive eksternal sebagai berikut:
sudo cp -r /home/my_home /media/backup/my_home
Dengan hasilnya semua folder pada drive eksternal sekarang dimiliki oleh root:root
. Bagaimana saya bisa cp
menjaga kepemilikan dan izin dari yang asli?
permissions
cp
Psachnodaimonia
sumber
sumber
man
bagi saya itu samar. Dalam hal ini,man
di-r
katasame as --preserve=mode,ownership,timestamps
. Bagaimana aku bisa tahu bahwa itu berarti menjaga izin asli !?-p
Jawaban:
Dari manual cp:
sumber
cp -a
. Ini juga termasuk-r
flag ecursive, tetapi ia melakukan lebih dari itu — ia mempertahankan segalanya tentang file; Atribut SELinux, tautan, xattr, semuanya. Ini "mode arsip." Ada alat yang lebih baik untuk membuat cadangan, tetapi jika Anda menggunakancp
untuk cadangan, jangan gunakan selaincp -a
.cp -a
tidak berfungsi pada beberapa sistem: mis. OS X, di mana (setidaknya dalam beberapa versi) yang dibutuhkan untuk digunakancp -pR
. Pada sistem OS X saya saat ini (10.10.15),cp -a
tampaknya merasa terhormat.diff <(getfacl -R folder1) <(getfacl -R folder2)
tampaknya masih mendapatkan daftar kontrol akses yang berbeda :(Anda juga bisa menggunakan
rsync
.Dari halaman
rsync
manual:Lihat pertanyaan ini untuk perbandingan antara
cp
danrsync
: https://stackoverflow.com/q/6339287/406686Perhatikan garis miring trailing (lihat halaman manual untuk detail).
sumber
cp -p
bagus, tapi aku sukarsync
's output yang jauh lebih umum bahwa saya telah aliaspcp
untuktime rsync --progress -ah
. Singkatan dari "copy kemajuan" dalam pikiran saya. Dan keduanya menerima-r
, jadi ini berfungsi baik untuk penggunaan terminal umum - tetapi sayangnya, tidak dalam kombinasi dengansudo
seperti yang ditunjukkan dalam pertanyaan / jawaban ini.rsync -a
tidak mempertahankan atribut diperluas (-X
) dan tidak ada ACL (-A
) - deskripsi singkat mengatakanarchive mode; equals -rlptgoD (no -H,-A,-X)
. Misalnya, konteks SELinux tidak akan dipelihara tanpa-X
. Untuk banyak kasus penggunaan, ini baik-baik saja, tetapi jika Anda membuat cadangan dari partisi sistem Anda, hilang -X mungkin rusak cukup banyak. Sejauh yang saya tahu,cp -a
benar-benar mempertahankan semua atribut file.sudo cp -a
mempertahankan kepemilikan dan grup,sudo rsync -a
mengubahnya menjadi root. Jadi, @Perseids benar./home
folder sayarsync -aX /home /mnt/sdd/
dan itu berfungsi seperti pesona.Di mana
-a
kependekan--archive
- pada dasarnya menyalin direktori persis seperti apa adanya; file mempertahankan semua atributnya, dan symlink tidak dereferenced (-d
).Dari
man cp
:sumber
Saya menggunakan
cp -pdRx
yang akan-p
mempertahankan mode, kepemilikan & cap waktu,-d
melestarikan tautan (sehingga Anda mendapatkan symlink alih-alih isi file disalin),-R
lakukan secara rekursif dan-x
tetap menggunakan satu sistem file (hanya sangat berguna jika Anda menyalin/
atau sesuatu dengan titik mount aktif) ).PS:
-R
Bukan-r
hanya kebiasaan menggunakanls -lR
.sumber
cp -ax
adalah versi yang sedikit lebih pendek dari hal yang sama. Ini bekerja dengan baik - terima kasih!-r
dan-R
. Periksa halaman manual (bahkan bagian tertentu terlalu lama untuk dikutip di sini).-R, -r, --recursive copy directories recursively
.cp
memiliki opsi untuk mempertahankan kepemilikan file. Dari halaman manualcp
:sumber
Anda dapat melakukan sesuatu seperti ini:
tar
menjaga izin, kepemilikan, dan struktur direktori tetap utuh, tetapi mengubah semuanya menjadi aliran byte. Anda menjalankan "subkulit" (perintah yang di-kurung) yang mengubah direktori, dan kemudian bisatar
membalikkan konversi. Setumpuk byte menjadi direktori dan file dengan kepemilikan dan izin yang benar.sumber
Jawabannya sederhana:
cp
memiliki-p
opsi yang mempertahankan izin (inilah seekor ikan).Tetapi seperti yang dikatakan Wojtek dalam komentarnya,
man cp
(membaca manual yang bagus) akan menjadi titik awal yang baik (ingin belajar cara memancing?).sumber
Anda dapat menggunakan preserve = all, maka salinan Anda akan menyimpan semua atribut seperti pemilik, grup, dan timestamp file Anda. Jadi, lakukan pencadangan dengan aman dengan perintah berikut.
sumber