Saya sedang mengerjakan rsync
skrip untuk replikasi direktori. Saya memilikinya hanya menyinkronkan file atau direktori yang baru dan dimodifikasi tetapi saya tidak menyukai fakta bahwa penyalinannya mengubah nama file atau direktori sebagai file atau direktori baru, menjaga file tidak sinkron. Saya juga telah menetapkan batas bandwidth 1MB karena ini akan berjalan selama jam kerja bisnis. Ini skrip saya:
rsync -zvru --bwlimit=1024 /mymounts/test1/ /mymounts/test2
Bagaimana saya bisa menyimpan file dan direktori dalam sinkronisasi jika seseorang mengganti nama sesuatu, dengan masih hanya menyalin file baru atau yang dimodifikasi? Berikut adalah file yang dimaksud
ls "/mymounts/test1/some stuff"
new directory newfile1.txt newfile3.txt renamedFile.txt
ls "/mymounts/test2/some stuff"
new directory newfile1.txt newfile2.txt newfile3.txt renamedFile.txt
Atau akan ada cara untuk bahkan memindahkan file berganti nama menjadi katakanlah direktori lain:
/mymounts/VerControl
?
rsync
artikel dasar yang bagus ini, FWIW. everythinglinux.org/rsyncAnda mungkin ingin melihat
-y | --fuzzy
opsi rsync. Selain itu, rsync tidak memiliki cara untuk melacak nama, sehingga Anda pada akhirnya akan mentransfer file yang sudah diganti nama.Dari manual rsync:
sumber
--fuzzy
, Anda harus mempertimbangkan untuk memasangkannya ,--delete-delay
seperti "rsync secara default melakukan a--delete-before
, sehingga menghapus file basis sebelum dapat disalin / dipindahkan" . Sumber: Sonia HamiltonKamu tidak bisa
Rsync memiliki tiga mode,
Namun ketiga mode ini memiliki dua subkategori,
Rsync tidak melacak file mana yang diganti namanya, ia tidak memiliki status. Pertimbangkan untuk menyalin semua file, dan mengecualikan yang tidak Anda inginkan. Anda tidak dapat memiliki daftar putih bergeser, Anda dapat memiliki daftar hitam.
sumber
date +%Y%m%d%k%M%S
toh saya bisa mendapatkan suffix =date +%Y%m%d%k%M%S
.ORIGINALSUFFIX?Sejauh yang saya tahu,Lihat jawaban artyom .rsync
tidak dapat mengenali nama file-file File baru harus ditransfer lagi.Untuk menghapus file yang hilang, pastikan untuk menggunakan
--delete
opsi.Juga, untuk mirroring, saya akan merekomendasikan Anda untuk menggunakan
-a
( arsip ), yang alias beberapa opsi bagus.Lihat
man 1 rsync
detailnya.sumber