Se utilizzi l'utilità rsync per mantenere sincronizzati i backup tra i tuoi server o con un computer locale, potresti voler impedire allo script di utilizzare troppa larghezza di banda. Tuttavia, rsync crea molti I/O di rete. Il punto di limitare la larghezza di banda è assicurarsi che gli script di backup non ostruiscano la connessione di rete.
Naturalmente, limitare la quantità di larghezza di banda utilizzata dai backup li renderà più lenti, ma se riesci a gestirli, questo è il modo per farlo.
Ecco un normale comando rsync:
$ rsync –avz -e 'ssh' /path/to/source user@remotehost:/path/to/dest/
Quello che vorrai fare è usare –bwlimit parametro con un KB/secondo valore, in questo modo:
$ rsync –bwlimit=[kb/second] –avz -e 'ssh' /path/to/source user@remotehost:/path/to/dest/
Quindi, se desideri limitare il trasferimento a circa 10000 KB/s (9,7 MB/s), inserisci:
$ rsync –bwlimit=10000 –avz -e 'ssh' /path/to/source user@remotehost:/path/to/dest/
Ecco un esempio del mondo reale:
rsync –bwlimit=10000 –avz -e 'ssh' /backup/ [email protected]:/backup/
Qui, rsync verrà limitato a una larghezza di banda di 10000 kb/secondo o 9,7 MB/s circa.
Uso del gocciolamento
C'è un'alternativa all'opzione -bwlimit. Puoi anche utilizzare il comando "trickle" per limitare la larghezza di banda di qualsiasi applicazione in esecuzione. La sintassi del comando trickle è:
$ trickle -u|-d [uploadLimit|downloadLimit] [app]
Qui,
-u uploadLimit -> limita la larghezza di banda di caricamento
-d downloadLimit -> limita la larghezza di banda di download
app -> è l'applicazione per cui vuoi limitare la larghezza di banda, ad es. rsinc.
Quindi, nel nostro caso, limiteremo l'utilizzo della larghezza di banda del comando rsync a 0000 kb/secondo utilizzando i comandi seguenti:
$ trickle -s -u 10000 -d 10000 rsync –avz -e 'ssh' /backup/ [email protected]:/backup/