October 22, 2025Oct 22 Put the following script in your /boot/config/go file or add a script to the Users Scripts plugin and set it to "At First Array Start Only":This script adds a bandwith limit to all rsync processes as long the destination path of rsync is an array disk. For me 60 MB/s works really good. Feel free to adjust 60000 to your needs. Since I use it, my array is much more responsive while rsync is running.# ------------------------------------------------- # Throttle rsync transfers to array disks v1.0 # ------------------------------------------------- # rename original rsync [[ ! -f /usr/bin/rsync.orig ]] && mv /usr/bin/rsync /usr/bin/rsync.orig if [[ -f /usr/bin/rsync.orig ]]; then # create wrapper script cat <<'##EOF' | sed -E 's/^ {4}//' >/usr/bin/rsync #!/bin/bash # rsync wrapper to throttle transfers to /mnt/diskX # Check if destination is an Unraid array disk add_bwlimit= last_arg="${@: -1}" if [[ "$last_arg" =~ ^/mnt/disk[0-9]+ ]]; then add_bwlimit=1 fi # Check if --bwlimit is already present for arg in "$@"; do if [[ "$arg" == --bwlimit=* ]] || [[ "$arg" == --bwlimit ]]; then add_bwlimit= break fi done # execute rsync with bandwidth limit if [[ $add_bwlimit ]]; then exec -a /usr/bin/rsync /usr/bin/rsync.orig --bwlimit=60000 "$@" # KB/s = 60 MB/s # execute original rsync else exec -a /usr/bin/rsync /usr/bin/rsync.orig "$@" fi ##EOF # make wrapper executable chmod +x /usr/bin/rsync fi
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.