Bug 46459 - bacula: строка 92: /usr/bin/pg_dump: Нет такого файла
Summary: bacula: строка 92: /usr/bin/pg_dump: Нет такого файла
Status: CLOSED NOTABUG
Alias: None
Product: Sisyphus
Classification: Development
Component: bacula11 (show other bugs)
Version: unstable
Hardware: x86_64 Linux
: P5 normal
Assignee: Alexei Takaseev
QA Contact: qa-sisyphus
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2023-06-09 12:29 MSK by Evgeny Ivanitskiy
Modified: 2023-06-25 07:48 MSK (History)
2 users (show)

See Also:


Attachments
Видео с воспроизведением ошибки (362.31 KB, video/webm)
2023-06-09 12:29 MSK, Evgeny Ivanitskiy
no flags Details

Note You need to log in before you can comment on or make changes to this bug.
Description Evgeny Ivanitskiy 2023-06-09 12:29:01 MSK
Created attachment 13447 [details]
Видео с воспроизведением ошибки

При попытке создания backup через bacula настроенную с MariaDB возникает следующая ошибка:

dir JobId 5: BeforeJob: /usr/share/bacula/scripts/make_catalog_backup: строка 92: /usr/bin/pg_dump: Нет такого файла или каталога

pg_dump является утилитой PostgreSQL, однако bacula полностью настроена на использование с MariaDB и успешно к ней подключается.

Версия пакета:
bacula11 11.0.6-alt1

Шаги для воспроизведения:

0. Настроить bacula:

Установить необходимые пакеты:
# apt-get install bacula11-common bacula11-console bacula11-director-common bacula11-director-mysql bacula11-storage mt-st mariadb-server bacula11-client -y

Запустить сервисы и настроить таблицы:
# sed -i "s/skip-networking/# skip-networking/" /etc/my.cnf.d/server.cnf && systemctl enable --now mysqld ; sleep 5 && sed -i "s/db_password=/db_password=\"sqlpass\"/" /usr/share/bacula/scripts/grant_mysql_privileges && /usr/share/bacula/scripts/create_mysql_database && /usr/share/bacula/scripts/make_mysql_tables && /usr/share/bacula/scripts/grant_mysql_privileges

Настроить базу дынных:
# mysql -u root
SELECT User,Host FROM mysql.user;
SET PASSWORD FOR 'bacula'@'localhost' = PASSWORD('sqlpass');
flush privileges;
quit;

Записать пароли и запустить сервисы:
# sed -i "s/password = \"Specify password for catalog here\"/password = \"sqlpass\"/" /etc/bacula/bacula-dir.conf && echo "Password = \"dirpass\"" > /etc/bacula/bacula-dir-password.conf && echo "Password = \"fdpass\"" > /etc/bacula/bacula-fd-password.conf && echo "Password = \"sdpass\"" > /etc/bacula/bacula-sd-password.conf && mkdir /srv/backup && chown bacula:bacula /srv/backup && systemctl enable --now bacula-dir.service && systemctl enable --now bacula-sd.service && systemctl enable --now bacula-fd.service 

1. Открыть bconsole
2. Вписать "run" ⇢ "1" ⇢ "yes"

Ожидаемый результат:
Успешное создание backup'а

Фактический результат:
Backup не создается 


Приложил видео с воспроизведением ошибки
Comment 1 Alexei Takaseev 2023-06-25 07:48:44 MSK
Добрый день!

Неверные настройки задания. В файле /etc/bacula/job.d/backupcatalog.conf под ваши вводные определение RunBeforeJob требуется привести к такому виду:

...
  RunBeforeJob = "/usr/share/bacula/scripts/make_catalog_backup bacula bacula sqlpass localhost mysql"
...

=======================
25-июн 12:45 dir JobId 13024: shell command: run BeforeJob "/usr/share/bacula/scripts/make_catalog_backup bacula bacula sqlpass localhost mysql"
25-июн 12:45 dir JobId 13024: Start Backup JobId 13024, Job=BackupCatalog.2023-06-25_12.45.23_03
25-июн 12:45 dir JobId 13024: Using Device "FileStorage" to write.
25-июн 12:45 sd JobId 13024: Volume "b0589" previously written, moving to end of data.
25-июн 12:45 sd JobId 13024: Ready to append to end of Volume "b0589" size=607
25-июн 12:45 sd JobId 13024: Elapsed time=00:00:01, Transfer rate=32.27 K Bytes/second
25-июн 12:45 sd JobId 13024: Sending spooled attrs to the Director. Despooling 227 bytes ...
25-июн 12:45 dir JobId 13024: Bacula dir 11.0.6 (10Mar22):
  Build OS:               x86_64-alt-linux-gnu redhat 
  JobId:                  13024
  Job:                    BackupCatalog.2023-06-25_12.45.23_03
  Backup Level:           Full
  Client:                 "fd" 11.0.6 (10Mar22) x86_64-alt-linux-gnu,redhat,
  FileSet:                "Catalog" 2021-02-09 05:10:00
  Pool:                   "Default" (From Job resource)
  Catalog:                "MyCatalog" (From Client resource)
  Storage:                "File" (From Job resource)
  Scheduled time:         25-июн-2023 12:45:22
  Start time:             25-июн-2023 12:45:26
  End time:               25-июн-2023 12:45:26
  Elapsed time:           1 sec
  Priority:               11
  FD Files Written:       1
  SD Files Written:       1
  FD Bytes Written:       32,160 (32.16 KB)
  SD Bytes Written:       32,271 (32.27 KB)
  Rate:                   32.2 KB/s
  Software Compression:   None
  Comm Line Compression:  78.9% 4.7:1
  Snapshot/VSS:           no
  Encryption:             no
  Accurate:               no
  Volume name(s):         b0589
  Volume Session Id:      2
  Volume Session Time:    1687667251
  Last Volume Bytes:      33,304 (33.30 KB)
  Non-fatal FD errors:    0
  SD Errors:              0
  FD termination status:  OK
  SD termination status:  OK
  Termination:            Backup OK

25-июн 12:45 dir JobId 13024: Begin pruning Jobs older than 6 months .
25-июн 12:45 dir JobId 13024: No Jobs found to prune.
25-июн 12:45 dir JobId 13024: Begin pruning Files.
25-июн 12:45 dir JobId 13024: No Files found to prune.
25-июн 12:45 dir JobId 13024: End auto prune.

25-июн 12:45 dir JobId 13024: shell command: run AfterJob "/usr/share/bacula/scripts/delete_catalog_backup"
=================