#!/bin/bash
VOLUME=$1
DBHOST=localhost
DATABASE=bacula
USER=""
PASSWORD=""
JOBS=($(mysql --host=$DBHOST --database=$DATABASE --user=$USER --password=$PASSWORD -N -e "SELECT DISTINCT Job.JobId as JobId,Job.Name as Name,Job.StartTime as StartTime, Job.Type as Type,Job.Level as Level,Job.JobFiles as Files, Job.JobBytes as Bytes,Job.JobStatus as Status FROM Media,JobMedia,Job WHERE Media.VolumeName=\"$VOLUME\" AND Media.MediaId=JobMedia.MediaId AND JobMedia.JobId=Job.JobId ORDER by Job.StartTime"))
COLS=9
NUMJOBS=$((${#JOBS[*]}/COLS))
printf "Jobs for volume %s\n" $VOLUME > test.txt
for ((i=0;i<NUMJOBS;i++)) do
printf "%s %s %s %s %s %s %s %s %s\n" ${JOBS[i*COLS]} ${JOBS[i*COLS+1]} ${JOBS[i*COLS+2]} ${JOBS[i*COLS+3]} ${JOBS[i*COLS+4]} ${JOBS[i*COLS+5]} ${JOBS[i*COLS+6]} ${JOBS[i*COLS+7]} ${JOBS[i*COLS+8]} >> test.txt
done
for ((i=0;i<NUMJOBS;i++)) do
printf "\nFiles for Job %s\n" ${JOBS[i*COLS]} >> test.txt
mysql --host=$DBHOST --database=$DATABASE --user=$USER --password=$PASSWORD -N -e "SELECT Path.Path,Filename.Name FROM File,Filename,Path WHERE File.JobId=\"${JOBS[i*COLS]}\" AND Filename.FilenameId=File.FilenameId AND Path.PathId=File.PathId ORDER BY Path.Path,Filename.Name" >> test.txt
done
Best regards,
Ana