diff --git a/README.md b/README.md
index c87d6426c5f6f56041edc56ea327df327790782d..2f9e1b7a8343867932652d3a931d5d5b01573bae 100644
--- a/README.md
+++ b/README.md
@@ -69,6 +69,8 @@ export:
 #	  type: rsync
 #	  port: 22
 #	  key: "/etc/backup-client/id_ed25519"
+	# Bandwidth limit for upload, 20mbit/s by default
+	bwlimit: 2500
 
 # Settings to create a remote sftp user. Use this for restic sftp repos
 remote_sftp_user:
diff --git a/defaults/main.yml b/defaults/main.yml
index 116687fb68a1181e477b412bc67dfa972691952b..e54bd066f06b9f340a308620cc490b67a22c4b1d 100644
--- a/defaults/main.yml
+++ b/defaults/main.yml
@@ -28,6 +28,7 @@ backups:
     years: 3
   export:
     destinations: []
+    bwlimit:  2500
   remote_sftp_user:
     name: backup
     host: ~
diff --git a/templates/backup-export.j2 b/templates/backup-export.j2
index 3cffe8e598e31bf4ee7a0e94b584e60fc1ae4ef0..f8e40cf4e49bedb48164f25bcf55614d9c468d7d 100755
--- a/templates/backup-export.j2
+++ b/templates/backup-export.j2
@@ -10,7 +10,7 @@ echo "Starting to export backups..."
 	{% if backups.backends.restic.repo_type == "local" %}
 		{% for i in backups.export.destinations if i.type == "rsync" %}
 			echo "exporting to {{ i.host }}"
-			rsync -h -r -a --append-verify --delete --stats  -e "ssh -p {{ i.port|d(22) }} -i {{ i.key|d('/etc/backup-client/id_ed25519') }}" "${RESTIC_REPOSITORY}/" "{{ i.user }}@{{ i.host }}:{{ i.remotepath }}"
+			rsync -h -r -a --append-verify --delete --stats{%if backups.export.bwlimit  %} --bwlimit={{ backups.export.bwlimit }}{% endif %} -e "ssh -p {{ i.port|d(22) }} -i {{ i.key|d('/etc/backup-client/id_ed25519') }}" "${RESTIC_REPOSITORY}/" "{{ i.user }}@{{ i.host }}:{{ i.remotepath }}"
 		{% endfor %}
 	{% else %}
 		echo "Repo is not local. Skipped."