How to diagnose problems#
Diagnosing issues with Bacula can sometimes be challenging, especially for new users. However, once the cause is identified, resolving the issue is usually straightforward. In this chapter, we present the most common methods used to troubleshoot and fix problems in Bacula.
Jobs#
Most Bacula-related issues occur during job execution. Below are five essential steps you can follow to identify what’s going wrong—whether a job is stuck, fails with an error, or behaves unexpectedly.
Step 1: Job status#
The job status is a key indicator of a job’s current phase and whether it’s operating correctly. In Bacularis, you can view job statuses using the icons in the job history table:
[Main menu] => [Page: Jobs] => [Tab: Job history]
Bacula jobs go through four stages:
Not started – The job hasn’t been launched yet; no status is displayed.
Created but not yet running - This happens right after a job is started, when the job has been added to the Bacula Director run queue but it hasn’t running yet. The job is waiting. Job status
C
Running – The job is currently executing and doing main work (e.g., backup, copy, verify). Job status:
R
Finished – The job has completed. Its status reflects the outcome:
T
– Completed successfully
A
– Canceled
E
,e
,f
– Errors occurred
D
– Differences found during a verify job
For a full list of job statuses, see the Bacula documentation: Job status and error codes. Note: Some statuses are internal and may not be visible in the UI.
Jobs with warnings#
Jobs that finish with warnings are a special case. Although they report
a status of T
(terminated normally), their logs contain warning or error
messages, and the summary states:
Termination: Backup OK -- with warnings
In such cases, the job errors
property is greater than zero, indicating
non-critical issues.
Step 2: Job log#
The job log provides detailed information about job execution, including any warnings or errors. This is your primary source for understanding what went wrong.
The verbosity and content of the job log are controlled by the Messages
resource in the job configuration.
Step 3: Director status#
If the job log doesn’t provide enough information, check the status of the Bacula Director for real-time insights into running jobs. It is in the following path:
[Main menu] => [Page: Director] => [Tab: Actions] => [Button: Status director]
Here you can view the current state of all running jobs. Expanding a job reveals more detailed status descriptions.
Step 4: Client status and storage status#
Problems on the client or storage side can prevent jobs from running properly—e.g., services may be down or devices inaccessible.
To check client status:
[Main menu] => [Page: Clients] => [Tab: Clients] => [Table: Clients] => [Button: 'Details' for selected client] => [Tab: Actions] => [Button: Status client]
To check storage status:
[Main menu] => [Page: Storage] => [Table: Storage] => [Button: 'Details' for selected storage] => [Tab: Actions] => [Button: Status storage]
Step 5: Bacula configuration#
Configuration settings often play a role in job behavior. For example, if a job
is stuck waiting, it may be due to limits such as Maximum Concurrent Jobs
being reached. You can adjust these limits in the relevant component’s
configuration file.
Video guide#
What to do if job gets stuck#
Watch this tutorial to learn how to diagnose situations where a job starts but doesn’t progress, indicating it may be waiting on a resource or condition.