Saya menjalankan CentOS 5.7 dan saya memiliki utilitas cadangan yang memiliki opsi untuk membuang file cadangannya stdout
. File cadangan agak besar (beberapa gigabytes). Targetnya adalah sistem file SSHFS. Untuk memastikan bahwa saya tidak memakan bandwidth dan menurunkan kinerja jaringan, saya ingin membatasi kecepatan data ditulis ke "disk".
Bagaimana saya bisa membatasi kemampuan stdout
berdasarkan nomor byte? Misalnya, membatasi kemampuan proses untuk menulis hingga sekitar 768Bps.
stdout
, pertanyaan sebelumnya adalah tentang membatasi lalu lintas jaringan. Binatang yang berbeda ...stdout
berbeda dengan membatasi bandwidth. Hanya karena masalah mendasarnya sama, tidak berarti bahwa pengunjung di masa mendatang tidak akan menemukan setiap pertanyaan berguna terpisah dari yang lain. Ingatlah bahwa Qs & As sama banyaknya bagi para googler dan bagi para penanya yang sebenarnya, itulah sebabnya menghapus pertanyaan yang dijawab adalah dosa besar di sini.Jawaban:
Anda dapat menambahkan alat pembatas laju ke pipa Anda.
Misalnya ada
pv
yang memiliki opsi pembatasan tingkat:Alternatif adalah alat
buffer
yang memiliki:sumber
Saya akan tergoda untuk membuang ini pada disk lokal daripada menulisnya langsung ke volume jarak jauh. Dengan cara ini Anda dapat menggunakan
rsync
dengan--bwlimit
mudah membatasi transfer.Salah satu manfaat dari pendekatan ini adalah bahwa jika ada gangguan konektivitas ke mesin jarak jauh, transfer terputus, tetapi cadangan itu sendiri tidak meledak dalam nyala api kemuliaan.
sumber
rsync
adalah solusi yang layak dalam situasi yang agak terbatas ini. = |pv (tampilan pipa)
sumber