Saya ingin rsync untuk mencetak file yang dimodifikasi dan dihapus. Opsi verbose (-v) tidak mencetak file yang dimodifikasi tetapi juga daftar subdirektori, mungkin karena direktori yang disentuh dianggap dimodifikasi. Karena saya menyinkronkan banyak file dari banyak subdirektori, tidak mungkin untuk melihat perubahan yang sebenarnya.
Jadi, adakah cara untuk tidak mencetak direktori menggunakan rsync?
Saya tidak mencari grep -v "*/$"
jawaban karena akan mengecualikan direktori baru.
Perintah yang saya gunakan: rsync -avh --delete /media/data/src /media/data/bkp
Dan setiap kali ia mencetak daftar semua direktori:
src/dir1/
src/dir1/sdir1/
src/dir1/sdir2/
src/dir2/
EDIT: Ok, setelah beberapa tes intensif .. Itu tidak mencetak semua direktori ketika menyinkronkan dari partisi ext4 ke ext4 dan dari NTFS ke NTFS. Itu hanya dilakukan saat sinkronisasi dari ext4 ke NTFS .. Dan opsi -c
atau --omit-dir-times
tidak mengubahnya.
Alih-alih mengubah tipe mount, Anda juga dapat memberitahu rsync untuk mengabaikan izin file saat menyalin ke sistem file yang tidak mendukungnya. Perintah berikut ini berfungsi untuk saya.
Dari halaman manual rsync:
sumber
jangan gunakan -a, mengandung -p -o -g.
sumber
-a
jika Anda mau, dan kemudian menambahkan--no-o --no-p --no-g
untuk menghilangkan pemilik, grup, dan izin.Sepertinya itu masalah izin. Tidak yakin mengapa .. Tapi saya sudah mengedit / etc / fstab untuk partisi NTFS dan sekarang berfungsi seperti yang diharapkan, yaitu tidak ada pencetakan direktori yang belum dimodifikasi.
Entri fstab lama: pengguna ntfs-3g, default, exec, uid = 1000 0 0
Entri fstab baru: pengguna ntfs-3g, default, exec, uid = 1000, gid = 1000, dmask = 077, fmask = 137 0 0
Saya menebak (siapa tahu ..) dmask = 077 melakukan trik yaitu 'drwx ---' bukannya 'drwxrwx'.
sumber
Saya menggunakan:
Ini adalah lari kering (opsi
n
). Hapus opsi itu untukrsync
benar - benar mentransfer file.sumber