我已经设置了一个bacula
在备份之前和之后运行客户端脚本的作业,如下所示:
工作 { 名称 = “my_job” 客户端 = “my-fd” 文件集 = “my-fset” 存储 = “存储文件” 已启用 = 是 时间表 = “my_sched” 池 = “pool_full” JobDefs =“默认作业” #最大启动延迟 = 3600 客户端运行前作业 = “/path/to/before/script.sh” 客户端运行后作业 = “/path/to/after/script.sh” }
现在计划运行完整备份。
日程 { 名称 = “my_sched” 运行 = 级别 = 满池 =“pool_full”周一至周日 12:50 }
我想添加如下增量备份计划:
Run = Level=Incremental IncrementalPool="pool_incr" FullPool="pool_full" mon-sun at 21:21
问题是:
如何判断bacula
增量备份不能运行客户端脚本?
答案1
我发现的解决方案是将 JobLevel 作为参数提供给脚本%l
Client Run Before Job = "/path/to/before/script.sh %l"
Client Run After Job = "/path/to/after/script.sh %l"
并安排脚本如下:
/bin/bash #!/bin/bash BACULA_J_LEVEL=$1 案例 $BACULA_J_LEVEL 满的) echo "职位级别 $BACULA_J_LEVEL"; #在这里做事 出口 0 ;; 微分) echo "职位级别 $BACULA_J_LEVEL"; # 没做什么 出口 0 ;; 增加的) echo "职位级别 $BACULA_J_LEVEL"; # 没做什么 出口 0 ;; *) echo "级别无法识别"; 1号出口; ;; 埃萨克