Re: Limit Bandwidth of Incremental backups only
Bill Arlofski via Bacula-users <[email protected]>
| Newsgroups | gmane.comp.bacula.user |
|---|---|
| Message-ID | <[email protected]> |
On 2/27/25 10:53 AM, [email protected] wrote: > Bill Arlofski via Bacula-users wrote on 2/13/25 3:22 PM: >> Here's an idea. 💡 >> In your Job, configure two RunScripts sections. One before and one after. >> Have a small script that takes the current jobid and the level. >> If the level is "limit", set bandwidth to xxxx, if the level is >> "unlimited", set the bandwidth on the jobid to 0. > > Yee boy now you're thinking! I had no idea we could run scripts and > send console commands, this is great. Sorry for the late reply, I've > been busy. My final results and observations: > > I couldn't get the setup running as written, but only minor tweaks were > needed after some trial and error. Initially, I was getting results > such as: > > dir JobId 6203: BeforeJob: setbandwidth > jobid=client.2025-02-27_06.54.34_12 limit=100 > dir JobId 6203: BeforeJob: Range end is not integer. > dir JobId 6203: BeforeJob: You have messages. > dir JobId 6203: BeforeJob: quit > dir JobId 6203: Start Backup JobId 6203, Job=client.2025-02-27_06.54.34_12 > > I realized the value being used for jobid > (client.2025-02-27_06.54.34_12) was actually the "unique job ID" and > belonged with the ujobid parameter instead. %i sends the jobID so I > adjusted the RunScript to do that instead, but that yielded: > > dir JobId 6204: BeforeJob: setbandwidth jobid=6204 limit=100 > dir JobId 6204: BeforeJob: Connecting to Client client-fd at client:9102 > dir JobId 0: Fatal error: Bad response to Bandwidth command: wanted 2000 > OK Bandwidth > , got 2901 Job client.2025-02-27_06.56.56_15 not found. > dir JobId 6204: BeforeJob: Failed to set bandwidth limit to Client. > dir JobId 6204: BeforeJob: You have messages. > dir JobId 6204: BeforeJob: quit > > I tried going back to %j with ujobid but got the same error. I realized > it's trying to set the bandwidth on the job before the client even knows > about it. After reading more about setbandwidth, I saw it could be used > for "Running and future Jobs for a Client". I adjusted the setup so it > sets the bandwidth on the whole client instead, and now this is the result: > > dir JobId 6208: BeforeJob: setbandwidth limit=100k/s client=client-fd > dir JobId 6208: BeforeJob: Connecting to Client client-fd at client:9102 > dir JobId 6208: BeforeJob: 2000 OK Limiting bandwidth to 102.4 KB/s on > running and future jobs > dir JobId 6208: BeforeJob: You have messages. > dir JobId 6208: BeforeJob: quit > > and here's my current config for it all: > > bandwidth_control script: > > bandwidth=100k/s > bcbin=/usr/sbin/bconsole > bccfg=/etc/bacula/bconsole.conf > if [ $2 = "Incremental" ]; then >  echo "Job level: $2. Limiting bandwidth to ${bandwidth}." >  echo -e "setbandwidth limit=${bandwidth} client=${1}\nquit\n" | > ${bcbin} -c ${bccfg} > else >  echo "Job level: $2. Setting bandwidth to unlimited." >  echo -e "setbandwidth limit=0 client=${1}\nquit\n" | ${bcbin} -c ${bccfg} > fi > > and: > >  RunScript { >    RunsWhen = before >    RunsOnClient = no >    FailJobOnError = no >    Command = "/etc/bacula/scripts/bandwidth_control %c %l" >  } > > I'm not sure what you had another RunScript for "after" for, so left > that out for now since the bandwidth_control script will set the > bandwidth to unlimited for all non-Incremental jobs, what were your > thoughts for including it? > > So far so good, though! > > *status client=client-fd > Connecting to Client client-fd at client:9102 > > client-fd Version: old > Daemon started... > ... > ... bwlimit=100kB/s > > Running Jobs: > JobId 6208 Job client.2025-02-27_07.20.48_27 is running. >    Incremental Backup Job started: ... >    ... >    Bwlimit=102,400 ... >    ... > > Great! > > I noticed, though, in the beginning when the Accurate info is exchanged, > that isn't limited by this mechanism, since I was watching the net > meters on the client. That was incoming data from the director it > appeared (or storage). Can that traffic be limited at all? Once that > was done several mins later, though, the client started uploading to the > director, or storage technically i guess, steady at 100 k/s. Thanks! > > Best Regards > -- Bill Arlofski [email protected] _______________________________________________ Bacula-users mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/bacula-users
signature.asc
(application/pgp-signature, 583 B)
-----BEGIN PGP SIGNATURE----- Version: ProtonMail wsCpBAEBCABdBYJnwQGMCZBIDTDab9XDQDUUAAAAAAAcABBzYWx0QG5vdGF0 aW9ucy5vcGVucGdwanMub3Jn2hIVC8r18lTHOoXbvHyNghYhBMuLnlBaSQiu SUbb6UgNMNpv1cNAAADAggf+JcdLae3NYDXZlUVzgpp8yJiXUo0AoXwYAzFB ekkZmOR2AUwlMvLQ+NWRjkLHgjdc/gbgY1OnSmlF4LX2fB+82/iKc3m3mznv +T9Qb0pXbSP9ZiPWnuaepb5uUZBX+C61vGWxCNSTa/fiR1iAKyZ1IKX+wwU0 CGWrq/nHKaApclMG0RlXR97YMfpfdhFZbYl+H46gEPkQThE1THK/6un/n1iM dKpXAoJfECpxaIBGcYY4EaDoHAhs+Ob8d/yovfUcFfHveDtT0+7GRpy0ULF6 7a7vQQxfKWK5ZZaluL9jaWIYbkK5omBUTbM+Kfi90irpdMdXfmKIsrxcqLZF aQmjZw== =5CyW -----END PGP SIGNATURE-----