是否可以以某种可解析的格式获取 Bacula Director 的状态?看起来,在 TCP 控制连接期间,在 Director 端形成了人类可读的表示(使用 bacula-console 时可以看到)。
答案1
我刚刚编写了一个 bash 脚本来轮询 bacula 客户端状态,并将磁带写入速度(以 GB/小时为单位)连同日期戳一起写入日志文件:
就是这样。
while `/bin/true`;
do
echo -n `date +%s` >> /var/log/backupspeed.log;
echo -n " " >> /var/log/backupspeed.log;
BPS=$(echo "status client"|bconsole|awk '/Bytes\/sec/ {print $3}'|cut -d'=' -f2|sed 's/,//g');
echo "scale=10;($BPS/(1024^3))*(60^2)"|bc >> /var/log/backupspeed.log;
sleep 10;
echo `date +%s`;
done
这只是我为了解决自己的问题而拼凑起来的东西,但它非常灵活。你几乎可以在 bconsole 上喷射东西,然后解析输出。