This might work, depending on the "lock file" settings in the various modules.
However, it doesn't work in the apparently obvious manner it may appear, because "max connections" is not a global setting. (There's only a handful of truly global settings in rsync, in fact.)
Setting "max connections" in a global context sets a per-module default.
The connection limit will then use the module's "lock file" setting (also a per-module value), which may be shared with other modules.
To effectively configure a shared global connection limit that can be overridden per module we'd need a final configuration along these lines:
[global]
max connections = X
lock file = /run/shared-global-limit.lock
[module1]
max connections = Y
lock file = /run/module1.lock
[module2]
# shares global limit with other modules
[module3]
max connections = Z
lock file = /run/module3.lock
[module4]
# shares global limit with other modules
This might work, depending on the "lock file" settings in the various modules.
However, it doesn't work in the apparently obvious manner it may appear, because "max connections" is not a global setting. (There's only a handful of truly global settings in rsync, in fact.)
Setting "max connections" in a global context sets a per-module default.
The connection limit will then use the module's "lock file" setting (also a per-module value), which may be shared with other modules.
To effectively configure a shared global connection limit that can be overridden per module we'd need a final configuration along these lines:
[global] global- limit.lock
max connections = X
lock file = /run/shared-
[module1]
max connections = Y
lock file = /run/module1.lock
[module2]
# shares global limit with other modules
[module3]
max connections = Z
lock file = /run/module3.lock
[module4]
# shares global limit with other modules