Line 101 of /usr/local/lib/bareos/scripts/make_catalog_backup.pl calls for `mysqldump` however, when run from bconsole or on a schedule, the script fails and Bareos displays the following:
BeforeJob: sh: mysqldump: not found
Error: Runscript: BeforeJob returned non-zero status=127. ERR=Child exited with code 127
If I prepend `/usr/local/bin/` to `mysqldump` on line 101 it resolves the issue.
I have a feeling there's a better way to fix this, I'm just not sure how. I tried adding a `.profile` file exporting PATH to bareos's home directory but that didn't seem to make a difference.
Relates to bug #209811
I bumped in to a relative of this today while setting up a new install. My setup is using postgresql, and the log message read:
15-Mar 22:14 xxxxx JobId 5: BeforeJob: sh: pg_dump: not found
`pg_dump` was definitely installed. I spent a few hours diagnosing it. Essentially the problem is that rc.d launches bareos-dir with the PATH set to "/sbin:/bin:/usr/sbin:/usr/bin". However, the postgresql11-client package installs all the utilities in /usr/local/bin, so job scripts launched from bareos-dir won't find it.
I'm not sure what the Correct Way to fix this is. I managed to work around the issue by adding the following line to /etc/rc.conf:
And then restarting bareos-dir. I then ran the catalog backup job manually from `bconsole`, which completed successfully.
Note that this trick only appears to work from within `run_rc_command` itself. If you use `sysrc -A` to check the setting, the "$PATH" part won't be expanded correctly, instead displaying as: