AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / server / 问题 / 994232
Accepted
Nikita Kipriyanov
Nikita Kipriyanov
Asked: 2019-12-04 22:53:12 +0800 CST2019-12-04 22:53:12 +0800 CST 2019-12-04 22:53:12 +0800 CST

BareOS BackupCatalog 作业卡在 Director 中终止,RunAfterJob 未运行

  • 772

这看起来很奇怪。我使用 Bacula 和现在的 BareOS 已有 10 多年了,但现在一个系统出现了奇怪的行为,我不知道为什么以及如何修复。

当它运行每日备份时,它工作正常,直到它到达 BackupCatalog 作业,该作业被配置为在其他所有操作之后运行。

该作业看起来已成功终止(表中的 JobStatus=T list jobs):

*list jobs
...
+-------+---------------+--------------+---------------------+------+-------+----------+-----------------+-----------+
| JobId | Name          | Client       | StartTime           | Type | Level | JobFiles | JobBytes        | JobStatus |
+-------+---------------+--------------+---------------------+------+-------+----------+-----------------+-----------+
...
| 5,475 | BackupCatalog | kantor-fd    | 2019-12-04 02:56:40 | B    | F     |       21 |      27,364,860 | T         |
+-------+---------------+--------------+---------------------+------+-------+----------+-----------------+-----------+

但是,在messages日志文件中,我看不到最后一项工作的常规摘要。日志文件完成如下:

19-Nov 02:32 kantor-dir JobId 5398: shell command: run BeforeJob "/usr/lib/bareos/scripts/make_catalog_backup.pl Kantor"
19-Nov 02:33 kantor-dir JobId 5398: Start Backup JobId 5398, Job=BackupCatalog.2019-11-18_23.10.00_10
19-Nov 02:33 kantor-dir JobId 5398: Using Device "FileStorage" to write.
19-Nov 02:33 kantor-sd JobId 5398: Volume "Kantor-2018-01-08_08:48:50" previously written, moving to end of data.
19-Nov 02:33 kantor-sd JobId 5398: Ready to append to end of Volume "Kantor-2018-01-08_08:48:50" size=4716094462
19-Nov 02:33 kantor-sd JobId 5398: Elapsed time=00:00:05, Transfer rate=5.663 M Bytes/second

就这样。注意,RunAfterJob 脚本似乎没有被执行。但是如果我手动执行它,它就可以工作(导出的目录数据库文件被删除)。然而,这不是 RunAfterJob 脚本的唯一工作。

我希望它最终会显示出这样的东西。所有其他工作都有它:

19-Nov 02:32 kantor-dir JobId 5397: Bareos kantor-dir 16.2.6 (02Jun17):
  Build OS:               x86_64-pc-linux-gnu debian Debian GNU/Linux buster/sid
  JobId:                  5397
  Job:                    FTP.2019-11-18_23.05.00_09
...
  FD termination status:  OK
  SD termination status:  OK
  Termination:            Backup OK

19-Nov 02:32 kantor-dir JobId 5397: Begin pruning Jobs older than 1 month 10 days .
...

此外,导演的身份看起来很奇怪:

*status dir
kantor-dir Version: 16.2.6 (02 June 2017) x86_64-pc-linux-gnu debian Debian GNU/Linux buster/sid
Daemon started 03-Dec-19 11:10. Jobs: run=4, running=1 mode=0 db=mysql
 Heap: heap=135,168 smbytes=222,459 max_bytes=236,758 bufs=543 max_bufs=594

Scheduled Jobs:
...
====

Running Jobs:
Console connected at 04-Dec-19 09:03
 JobId Level   Name                       Status
======================================================================
  5475 Full    BackupCatalog.2019-12-03_23.10.00_08 has terminated
====

Terminated Jobs:

 JobId  Level    Files      Bytes   Status   Finished        Name 
====================================================================
...
  5471  Incr      6,591    7.499 G  OK       03-Dec-19 23:15 termsrv
  5472  Incr        427    11.37 G  OK       03-Dec-19 23:44 1C
  5473  Incr          3    3.198 G  OK       04-Dec-19 02:56 Oracle
  5474  Incr      5,797    2.600 G  OK       04-Dec-19 02:56 FTP


Client Initiated Connections (waiting for jobs):
...
====

即在“正在运行的工作”中列出的上述工作,但它说它已终止。它没有在“终止的工作”中列出,好像导演还有事情要做。

它在这种状态下挂了六个小时。我还看到时间有些奇怪(表和日志文件中的 StartTime 相差半小时,但是,系统date和 MySQLselect NOW();是同步的)。

director 重启后,director 状态看起来更合适:

Running Jobs:
Console connected at 04-Dec-19 09:06
No Jobs running.
====
No Terminated Jobs.

这一切都始于两周前。如果我让它挂起,所有后续计划的作业将无限期地等待这个卡住的作业,这意味着不会执行任何备份。

我觉得这可能是该作业的 RunAfterJob 脚本存在的问题,但它是标准发布的脚本。如果我用手跑进去,它会起作用。作业定义本身也是标准发布的,唯一的修改是我在 FileSet 中添加了 compression=GZIP,但我每次都这样做,这从未引起任何问题。

要找什么?怎么修?


更新:

问题消失了。我不明白,为什么。备份工作至少两天。似乎什么都没有卡住。

bareos
  • 1 1 个回答
  • 83 Views

1 个回答

  • Voted
  1. Best Answer
    Nikita Kipriyanov
    2022-02-06T11:46:01+08:002022-02-06T11:46:01+08:00

    它似乎被配置为在作业备份结束时通过电子邮件发送引导文件BackupCatalog:

    Write Bootstrap = "|/usr/bin/bsmtp -h localhost -f \"\(Bareos\) \" -s \"Bootstrap for Job %j\" root@localhost"
    

    如果未配置服务器上的电子邮件发送,则会卡住。如果电子邮件发送受阻但后来在服务器外部修复,它会突然解开而没有明显的迹象表明发生了什么变化。这似乎是我的情况。

    通过删除这个Write Bootstrap问题可以完全避免。(该作业将按照JobDefs-referencedDefaultJob模板中的配置写入本地引导文件。)

    这是 BareOS 的一个缺陷,它没有解释可能出现的问题,也没有将其记录为问题并走得更远。它只是卡住了。太糟糕了。也不可惜,默认情况下也是这样配置的。

    • 0

相关问题

  • Virtualbox的Bareos / Bacula备份?

  • Bareos 备份所有文件,尽管有自定义文件集

  • BareOS 中的增量备份大小过大

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    新安装后 postgres 的默认超级用户用户名/密码是什么?

    • 5 个回答
  • Marko Smith

    SFTP 使用什么端口?

    • 6 个回答
  • Marko Smith

    命令行列出 Windows Active Directory 组中的用户?

    • 9 个回答
  • Marko Smith

    什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同?

    • 3 个回答
  • Marko Smith

    如何确定bash变量是否为空?

    • 15 个回答
  • Martin Hope
    Tom Feiner 如何按大小对 du -h 输出进行排序 2009-02-26 05:42:42 +0800 CST
  • Martin Hope
    Noah Goodrich 什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同? 2009-05-19 18:24:42 +0800 CST
  • Martin Hope
    Brent 如何确定bash变量是否为空? 2009-05-13 09:54:48 +0800 CST
  • Martin Hope
    cletus 您如何找到在 Windows 中打开文件的进程? 2009-05-01 16:47:16 +0800 CST

热门标签

linux nginx windows networking ubuntu domain-name-system amazon-web-services active-directory apache-2.4 ssh

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve