if $bindir/mysql $* -u root -f <<END-OF-DATA
use mysql
-grant all privileges on bacula.* to ${USER}@localhost with grant option;
-grant all privileges on bacula.* to ${USER}@"%" with grant option;
+grant all privileges on bacula.* to ${USER}@localhost;
+grant all privileges on bacula.* to ${USER}@"%";
select * from user;
flush privileges;
END-OF-DATA
AND Filename.FilenameId=File.FilenameId
AND Path.PathId=File.PathId ORDER BY
Path.Path,Filename.Name;
+# 14
+:List Jobs stored in a selected MediaId:
+*Enter MediaId:
+SELECT Job.JobId,Job.Name,Job.StartTime,Job.Type,
+ Job.Level,Job.JobFiles,Job.JobBytes,Job.JobStatus
+ FROM JobMedia,Job
+ WHERE JobMedia.JobId = Job.JobId
+ AND JobMedia.MediaId = %1;
+SELECT MediaId,VolumeName,VolStatus,VolBytes,VolFiles,
+ VolRetention,Recycle,Slot,MediaType,LastWritten
+ FROM Media WHERE MediaId = %1;
dev->dev_blocked = hold->dev_blocked;
dev->dev_prev_blocked = hold->dev_prev_blocked;
dev->no_wait_id = hold->no_wait_id;
+ if (dev->dev_blocked == BST_NOT_BLOCKED && dev->num_waiting > 0) {
+ pthread_cond_broadcast(&dev->wait); /* wake them up */
+ }
}
}
read_label(jcr, dev);
if (dev_state(dev, ST_LABEL)) {
- bnet_fsend(dir, _("3001 Device %s is mounted with Volume \"%s\"\n"),
+ bnet_fsend(dir, _("3001 Device %s is already mounted with Volume \"%s\"\n"),
dev_name(dev), dev->VolHdr.VolName);
} else {
bnet_fsend(dir, _("3905 Device %s open but no Bacula volume is mounted.\n"
void list_spool_stats(BSOCK *bs)
{
char ed1[30], ed2[30];
- bnet_fsend(bs, "Data spooling: %d active jobs %s bytes; %d total jobs %s max bytes/job.\n",
- spool_stats.data_jobs, edit_uint64_with_commas(spool_stats.data_size, ed1),
- spool_stats.total_data_jobs,
- edit_uint64_with_commas(spool_stats.max_data_size, ed2));
- bnet_fsend(bs, "Attr spooling: %d active jobs; %d total jobs %s max bytes/job.\n",
- spool_stats.attr_jobs, spool_stats.total_attr_jobs,
- edit_uint64_with_commas(spool_stats.max_attr_size, ed1));
+ if (spool_stats.data_jobs || spool_stats.max_data_size) {
+ bnet_fsend(bs, "Data spooling: %d active jobs %s bytes; %d total jobs %s max bytes/job.\n",
+ spool_stats.data_jobs, edit_uint64_with_commas(spool_stats.data_size, ed1),
+ spool_stats.total_data_jobs,
+ edit_uint64_with_commas(spool_stats.max_data_size, ed2));
+ }
+ if (spool_stats.attr_jobs || spool_stats.max_attr_size) {
+ bnet_fsend(bs, "Attr spooling: %d active jobs; %d total jobs %s max bytes/job.\n",
+ spool_stats.attr_jobs, spool_stats.total_attr_jobs,
+ edit_uint64_with_commas(spool_stats.max_attr_size, ed1));
+ }
}
bool begin_data_spool(JCR *jcr)