Wenn Sie das Dienstprogramm rsync verwenden, um Ihre Sicherungen zwischen Ihren Servern oder mit einem lokalen Computer zu synchronisieren, möchten Sie möglicherweise verhindern, dass das Skript zu viel Bandbreite verwendet. Allerdings macht rsync viel Netzwerk-I/O. Der Zweck der Bandbreitenbegrenzung besteht darin, sicherzustellen, dass Ihre Backup-Skripte die Netzwerkverbindung nicht verstopfen.
Wenn Sie die von Ihren Backups verwendete Bandbreite begrenzen, werden sie natürlich langsamer ausgeführt, aber wenn Sie damit umgehen können, ist dies der richtige Weg.
Hier ist ein normaler rsync-Befehl:
$ rsync –avz -e 'ssh' /path/to/source user@remotehost:/path/to/dest/
Was Sie tun möchten, ist das –bwlimit zu verwenden Parameter mit einem KB/Sekunde Wert, etwa so:
$ rsync –bwlimit=[kb/second] –avz -e 'ssh' /path/to/source user@remotehost:/path/to/dest/
Wenn Sie also die Übertragung auf etwa 10000 KB/s (9,7 MB/s) beschränken möchten, geben Sie Folgendes ein:
$ rsync –bwlimit=10000 –avz -e 'ssh' /path/to/source user@remotehost:/path/to/dest/
Hier ist ein reales Beispiel:
rsync –bwlimit=10000 –avz -e 'ssh' /backup/ [email protected]:/backup/
Hier wird rsync auf eine Bandbreite von 10000 KB/Sekunde oder etwa 9,7 MB/s gedrosselt.
Rinnsal verwenden
Es gibt eine Alternative zur Option -bwlimit. Sie können auch den „Trickle“-Befehl verwenden, um die Bandbreite jeder Anwendung zu begrenzen, die Sie ausführen. Die Syntax des Trickle-Befehls lautet:
$ trickle -u|-d [uploadLimit|downloadLimit] [app]
Hier
-u uploadLimit -> begrenzt die Upload-Bandbreite
-d downloadLimit -> begrenzt die Download-Bandbreite
App -> ist die Anwendung, für die Sie die Bandbreite begrenzen möchten, z. rsync.
In unserem Fall begrenzen wir also die Bandbreitennutzung des rsync-Befehls auf 0000 KB/Sekunde, indem wir die folgenden Befehle verwenden:
$ trickle -s -u 10000 -d 10000 rsync –avz -e 'ssh' /backup/ [email protected]:/backup/