rsync untuk menyalin file yang telah berubah

42

Saya perlu menyalin beberapa file dari direktori tertentu ke lokasi yang berbeda setiap hari. Saya ingin menyalin perubahan saja, jadi rencanakan untuk digunakan rsync. File-file ini mengikuti konvensi penamaan berikutmysql-bin.*

Perintah saya terlihat sebagai berikut

# rsync --update -raz --progress /var/lib/mysql/mysql-bin.*  /dbdata/binarylog/

Kebingungan saya adalah karena saya berencana untuk menyalin hanya beberapa file dari direktori daripada isi direktori lengkap, saya telah digunakan * untuk menyalin hanya file yang diperlukan. Hanya ingin tahu apakah perintah saya benar untuk mencapai hal yang sama.

Zama Ques
sumber

Jawaban:

51

Itu terlihat oke. Meskipun mengapa Anda menggunakan -zopsi untuk mengkompres transfer? Opsi ini biasanya digunakan ketika Anda menyalin ke server rsync jarak jauh melalui jaringan yang lambat. Dalam hal ini, ia akan memampatkan dan secara instan mendekompresi file-file yang hanya akan menambah CPU bahasa Anda tanpa manfaat.

Opsi -a(arsip) menyiratkan opsi -r(rekursif) sehingga tidak perlu secara eksplisit menentukannya pada baris perintah.

Anda dapat menggunakan -nopsi (atau --dry-run) untuk memeriksa perintah Anda. Ini akan menunjukkan apa yang akan dilakukan tanpa benar-benar menyalin file apa pun. Untuk benar-benar melihat apa yang terjadi, Anda juga harus menggunakan -vopsi (atau --verbose).

Karena itu:

rsync -uanv /var/lib/mysql/mysql-bin.*  /dbdata/binarylog/

dan begitu Anda senang bahwa file-file tersebut terdaftar dengan benar pada proses kering, hapus nv:

rsync -ua --progress /var/lib/mysql/mysql-bin.*  /dbdata/binarylog/
garethTheRed
sumber
3
Seperti yang tertulis dalam man page --dry-runflag paling umum digunakan bersamaan dengan --verboseflag
Benjamin Leinweber