Opsi Rsync di command line

Halo,
Saya sedang memulihkan data dari NAS lama (dalam mode terdegradasi) melalui ssh ke NAS baru saya (TS-664 yang menjalankan QTS 5.2.6.3195) dan rsync.
Sayangnya, tampaknya tidak semua opsi rsync tersedia.

Apakah ada yang bisa memberi tahu saya versi rsync yang dikemas dengan QTS dan mungkin tautan ke dokumentasi yang sesuai?

Salam,
Frédéric

Ketik:
rsync -version
dan
rsync -help

Itu akan menampilkan versi yang terpasang dan opsi yang tersedia untuk Anda.

1 Suka

“current” QTS/QuTS tampaknya memiliki versi rsync yang cukup baik.

Apa yang kamu dapatkan di perangkat lama?
Saya biasanya menggunakan -aPv tapi saya pernah mengalami masalah dengan busybox atau filesystem Windows di masa lalu.
--recursive --times --partial --progress --verbose seharusnya tersedia di hampir semua versi rsync dan memungkinkan kamu untuk memigrasi data.

[weedy@TheVault ~]$ rsync --help
rsync  versi 3.0.7  protokol versi 30
Copyright (C) 1996-2009 oleh Andrew Tridgell, Wayne Davison, dan lainnya.
Situs web: http://rsync.samba.org/
Kemampuan:
    file 64-bit, inum 64-bit, timestamp 64-bit, long int 64-bit,
    tidak ada socketpairs, hardlink, symlink, IPv6, batchfile, inplace,
    append, ACL, xattr, iconv, symtimes

rsync disediakan TANPA JAMINAN APAPUN. Ini adalah perangkat lunak bebas, dan kamu
dipersilakan untuk mendistribusikannya ulang di bawah kondisi tertentu. Lihat
Lisensi Publik Umum GNU untuk detailnya.

rsync adalah program transfer file yang mampu melakukan pembaruan jarak jauh secara efisien
melalui algoritma pembeda cepat.

Penggunaan: rsync [OPTION]... SRC [SRC]... DEST
  atau   rsync [OPTION]... SRC [SRC]... [USER@]HOST:DEST
  atau   rsync [OPTION]... SRC [SRC]... [USER@]HOST::DEST
  atau   rsync [OPTION]... SRC [SRC]... rsync://[USER@]HOST[:PORT]/DEST
  atau   rsync [OPTION]... [USER@]HOST:SRC [DEST]
  atau   rsync [OPTION]... [USER@]HOST::SRC [DEST]
  atau   rsync [OPTION]... rsync://[USER@]HOST[:PORT]/SRC [DEST]
Penggunaan ':' terhubung melalui remote shell, sedangkan '::' & 'rsync://' terhubung
ke daemon rsync, dan membutuhkan SRC atau DEST dimulai dengan nama modul.

Opsi
 -v, --verbose               tingkatkan verbositas
 -q, --quiet                 sembunyikan pesan non-error
     --no-motd               sembunyikan MOTD mode-daemon (lihat catatan di manpage)
 -c, --checksum              lewati berdasarkan checksum, bukan waktu modifikasi & ukuran
 -a, --archive               mode arsip; sama dengan -rlptgoD (tanpa -H,-A,-X)
     --no-OPTION             matikan opsi yang tersirat (misal --no-D)
 -r, --recursive             rekursi ke dalam direktori
 -R, --relative              gunakan nama path relatif
     --no-implied-dirs       jangan kirim direktori tersirat dengan --relative
 -b, --backup                buat backup (lihat --suffix & --backup-dir)
     --backup-dir=DIR        buat backup ke dalam hierarki berbasis DIR
     --suffix=SUFFIX         setel akhiran backup (default ~ tanpa --backup-dir)
 -u, --update                lewati file yang lebih baru di penerima
     --inplace               perbarui file tujuan secara langsung (LIHAT MAN PAGE)
     --append                tambahkan data ke file yang lebih pendek
     --append-verify         seperti --append, tapi dengan checksum data lama di file
 -d, --dirs                  transfer direktori tanpa rekursi
 -l, --links                 salin symlink sebagai symlink
 -L, --copy-links            ubah symlink menjadi file/dir referensi
     --copy-unsafe-links     hanya symlink "tidak aman" yang diubah
     --safe-links            abaikan symlink yang menunjuk ke luar pohon sumber
 -k, --copy-dirlinks         ubah symlink ke direktori menjadi direktori referensi
 -K, --keep-dirlinks         perlakukan direktori symlink di penerima sebagai direktori
 -H, --hard-links            pertahankan hard link
 -p, --perms                 pertahankan permission
 -E, --executability         pertahankan eksekutabilitas file
     --chmod=CHMOD           pengaruhi permission file dan/atau direktori
 -A, --acls                  pertahankan ACL (implisit --perms)
 -X, --xattrs                pertahankan atribut tambahan (extended attributes)
 -o, --owner                 pertahankan pemilik (hanya super-user)
 -g, --group                 pertahankan grup
     --devices               pertahankan file perangkat (hanya super-user)
     --specials              pertahankan file khusus
 -D                          sama dengan --devices --specials
 -t, --times                 pertahankan waktu modifikasi
 -O, --omit-dir-times        abaikan direktori dari --times
     --super                 penerima mencoba aktivitas super-user
     --fake-super            simpan/pulihkan atribut hak istimewa menggunakan xattr
 -S, --sparse                tangani file sparse secara efisien
 -n, --dry-run               lakukan simulasi tanpa perubahan
 -W, --whole-file            salin file secara utuh (tanpa algoritma delta-xfer)
 -x, --one-file-system       jangan lintasi batas filesystem
 -B, --block-size=SIZE       paksa ukuran blok checksum tetap
 -e, --rsh=COMMAND           tentukan remote shell yang digunakan
     --rsync-path=PROGRAM    tentukan rsync yang dijalankan di mesin remote
     --existing              lewati pembuatan file baru di penerima
     --ignore-existing       lewati pembaruan file yang sudah ada di penerima
     --remove-source-files   pengirim menghapus file yang sudah disinkronkan (bukan direktori)
     --del                   alias untuk --delete-during
     --delete                hapus file berlebih dari direktori tujuan
     --delete-before         penerima menghapus sebelum transfer, bukan saat transfer
     --delete-during         penerima menghapus saat transfer (default)
     --delete-delay          temukan penghapusan saat transfer, hapus setelahnya
     --delete-after          penerima menghapus setelah transfer, bukan saat transfer
     --delete-excluded       juga hapus file yang dikecualikan dari direktori tujuan
     --ignore-errors         hapus meskipun ada error I/O
     --force                 paksa penghapusan direktori meskipun tidak kosong
     --max-delete=NUM        jangan hapus lebih dari NUM file
     --max-size=SIZE         jangan transfer file yang lebih besar dari SIZE
     --min-size=SIZE         jangan transfer file yang lebih kecil dari SIZE
     --partial               simpan file yang ditransfer sebagian
     --partial-dir=DIR       letakkan file yang ditransfer sebagian ke DIR
     --delay-updates         letakkan semua file yang diperbarui di tempat pada akhir transfer
 -m, --prune-empty-dirs      pangkas rantai direktori kosong dari daftar file
     --numeric-ids           jangan mapping nilai uid/gid berdasarkan nama user/grup
     --timeout=SECONDS       setel timeout I/O dalam detik
     --contimeout=SECONDS    setel timeout koneksi daemon dalam detik
 -I, --ignore-times          jangan lewati file yang ukurannya dan waktu modifikasinya sama
     --size-only             lewati file yang ukurannya sama
     --modify-window=NUM     bandingkan waktu modifikasi dengan akurasi yang dikurangi
 -T, --temp-dir=DIR          buat file sementara di direktori DIR
 -y, --fuzzy                 cari file serupa sebagai basis jika tidak ada file tujuan
     --compare-dest=DIR      juga bandingkan file tujuan relatif ke DIR
     --copy-dest=DIR         ... dan sertakan salinan file yang tidak berubah
     --link-dest=DIR         hardlink ke file di DIR jika tidak berubah
 -z, --compress              kompres data file selama transfer
     --compress-level=NUM    setel tingkat kompresi secara eksplisit
     --skip-compress=LIST    lewati kompresi file dengan akhiran di LIST
 -C, --cvs-exclude           otomatis abaikan file seperti CVS
 -f, --filter=RULE           tambahkan RULE filter file
 -F                          sama dengan --filter='dir-merge /.rsync-filter'
                             diulang: --filter='- .rsync-filter'
     --exclude=PATTERN       kecualikan file yang cocok dengan PATTERN
     --exclude-from=FILE     baca pola pengecualian dari FILE
     --include=PATTERN       jangan kecualikan file yang cocok dengan PATTERN
     --include-from=FILE     baca pola inklusi dari FILE
     --files-from=FILE       baca daftar nama file sumber dari FILE
 -0, --from0                 semua file *-from/filter dipisahkan dengan 0
 -s, --protect-args          tidak ada pemisahan spasi; hanya karakter khusus wildcard
     --address=ADDRESS       bind alamat untuk socket keluar ke daemon
     --port=PORT             tentukan nomor port alternatif double-colon
     --sockopts=OPTIONS      tentukan opsi TCP khusus
     --blocking-io           gunakan I/O blocking untuk remote shell
     --stats                 tampilkan statistik transfer file
 -8, --8-bit-output          biarkan karakter high-bit tidak di-escape pada output
 -h, --human-readable        tampilkan angka dalam format mudah dibaca manusia
     --progress              tampilkan progress selama transfer
 -P                          sama dengan --partial --progress
 -i, --itemize-changes       tampilkan ringkasan perubahan untuk semua pembaruan
     --out-format=FORMAT     tampilkan pembaruan menggunakan FORMAT yang ditentukan
     --log-file=FILE         catat apa yang dilakukan ke FILE yang ditentukan
     --log-file-format=FMT   catat pembaruan menggunakan FMT yang ditentukan
     --password-file=FILE    baca password akses daemon dari FILE
     --list-only             daftar file tanpa menyalin
     --bwlimit=KBPS          batasi bandwidth I/O; KBytes per detik
     --write-batch=FILE      tulis pembaruan batch ke FILE
     --only-write-batch=FILE seperti --write-batch tapi tanpa memperbarui tujuan
     --read-batch=FILE       baca pembaruan batch dari FILE
     --protocol=NUM          paksa penggunaan versi protokol lama
     --iconv=CONVERT_SPEC    minta konversi charset pada nama file
     --qnap-mode=mode        0:Normal, 1:QRAID1, 2:USB copy 3:HD copy USB
     --check-dest                 Cek apakah path tujuan valid
     --password=WORD         password untuk mode QNAP
     --sever-mode=mode       0:Normal, 1:QNAP dalam mode daemon
     --schedule=name         tentukan nama jadwal
 -4, --ipv4                  utamakan IPv4
 -6, --ipv6                  utamakan IPv6
     --version               tampilkan nomor versi
(-h) --help                  tampilkan bantuan ini (-h berfungsi tanpa opsi lain)

Gunakan "rsync --daemon --help" untuk melihat opsi command-line mode daemon.
Silakan lihat halaman manual rsync(1) dan rsyncd.conf(5) untuk dokumentasi lengkap.
Lihat http://rsync.samba.org/ untuk pembaruan, laporan bug, dan jawaban
1 Suka

Terima kasih atas respons yang cepat.
Memang, rsync -version menunjukkan versi 3.0.7 … dari tahun 2009!
Saya cukup terkejut bahwa kita belum memiliki versi yang lebih baru dari Qnap :-/

Memang ada fitur yang kurang dibandingkan dengan versi terbaru 3.4.1 dari tahun 2025.

Salam…

Nah, kita punya versi yang sama.
Dan ada --archive, apa lagi yang kamu butuhkan untuk langsung mengirim data kamu?

Saya berharap bisa memiliki indikator progres global (agar bisa melihat akhir dari proses), dan menampilkan kecepatan transfer (untuk membandingkan dengan teknik transfer lain yang sudah saya uji).

Namun selain itu, semuanya berjalan lancar, tidak ada masalah.

Ahhh, ya… kita tidak punya --info=.

Di NAS terbaru kamu, apakah kamu punya pv? Saya punya.

rsync -ahiPv --stats /path/to/source/ /path/to/destination/ | pv -lep

Lumayan, agak membantu.

Sepertinya kita tidak punya pv… :-/

Apakah Anda sudah mempertimbangkan untuk menyiapkan server Ubuntu guna memenuhi kebutuhan Anda? Ini mungkin bisa menjadi solusi.
Terima kasih!

Maksud Anda, server terpisah?

Ngomong-ngomong, bisakah Anda memberi tahu kami mengapa alat dasar seperti itu tidak tersedia atau tidak diperbarui di QNAP NAS?

Saya merujuk pada Ubuntu Linux Station. Anda dapat menemukan detail lebih lanjut di sini: How to Use Ubuntu Linux Station | QNAP

Saya akan memeriksa dengan tim secara terpisah mengenai masalah yang Anda sebutkan!

1 Suka

Hai @frederic
Setelah memeriksa dengan para insinyur kami, HBS sistem menyediakan executable lain di /usr/bin/rsync.hbs.

Silakan gunakan yang ini, karena versi inilah yang digunakan HBS untuk menyediakan layanan rsync eksternal. /usr/bin/rsync yang saat ini Anda gunakan tidak dimaksudkan untuk layanan eksternal dan hanya ada untuk kompatibilitas dengan versi sebelumnya.

1 Suka

Terima kasih banyak atas masukannya!