避免rsync占用所有带宽

时间:2020-01-09 10:41:07  来源:igfitidea点击:

如果使用rsync实用程序将备份从数据库服务器同步到备份或者辅助文件服务器,则可能要防止脚本使用过多带宽。这是如何做。

限制带宽的目的是确保备份脚本不会阻塞Web服务器和数据库服务器之间的网络连接。自然地,限制备份使用的带宽量将使备份的执行速度变慢,但是如果我们能够解决问题,这就是解决问题的方法。

通常,rsync命令将如下所示:

rsync -a /backup/folder user@host:/remote/backup/folder/

我们想要做的是使用带有KB / second值的--bwlimit参数,例如:

rsync --bwlimit=<kb/second> <source> <dest>

因此,如果我们希望将传输限制为每秒5MB,则可以使用以下命令:

rsync --bwlimit=5000 /backup/folder user@host:/remote/backup/folder/

我们需要确保计算备份的大小,并弄清楚以较低的速度传输备份需要多长时间,例如,如果备份脚本需要花费12个小时才能运行,那将不会有太大帮助。

我们还可以使用ionice命令限制脚本使用的带宽量,这将有助于防止脚本使用过多的磁盘I / O。它并不是很有用,因为我们不能像使用bwlimit参数那样设置绝对数,但这是我们可以考虑的另一件事。