]> git.sur5r.net Git - bacula/bacula/blobdiff - bacula/src/dird/query.sql
kes Add some SD debug code.
[bacula/bacula] / bacula / src / dird / query.sql
index 55101486c9dd3ebaa9f91ad8a86910a2aaa395f3..b18f10fd65df9c66b545ae9f74de9bdf56e50c0d 100644 (file)
@@ -1,12 +1,5 @@
-:List Job totals:
-SELECT count(*) AS Jobs,sum(JobFiles) AS Files, 
-  sum(JobBytes) AS Bytes,Name AS Job 
- FROM Job 
- GROUP BY Name;
-SELECT max(JobId) AS Jobs,sum(JobFiles) AS Files,sum(JobBytes) As Bytes 
- FROM Job;
-# 2 
-:List up to 20 places where a File is saved regardless of the directory:
+# 1 
+:List up to 20 places where a File is saved regardless of the directory
 *Enter Filename (no path):
 SELECT DISTINCT Job.JobId as JobId, Client.Name as Client,
   Path.Path,Filename.Name,StartTime,Level,JobFiles,JobBytes
@@ -15,8 +8,8 @@ SELECT DISTINCT Job.JobId as JobId, Client.Name as Client,
  AND Path.PathId=File.PathId AND Filename.FilenameId=File.FilenameId
  AND Filename.Name='%1' 
  ORDER BY Job.StartTime LIMIT 20;
-# 3
-:List where the most recent copies of a file are saved:
+# 2
+:List where the most recent copies of a file are saved
 *Enter path with trailing slash:
 *Enter filename:
 *Enter Client name:
@@ -32,8 +25,8 @@ SELECT DISTINCT Job.JobId,StartTime AS JobStartTime,VolumeName,Client.Name AS Cl
  AND JobMedia.MediaId=Media.MediaId
  AND Client.ClientId=Job.ClientId
  ORDER BY Job.StartTime DESC LIMIT 5;
-# 4
-:List last 20 Full Backups for a Client:
+# 3
+:List last 20 Full Backups for a Client
 *Enter Client name:
 SELECT DISTINCT Job.JobId,Client.Name AS Client,StartTime,JobFiles,JobBytes,
   JobMedia.StartFile as VolFile,VolumeName
@@ -43,7 +36,7 @@ SELECT DISTINCT Job.JobId,Client.Name AS Client,StartTime,JobFiles,JobBytes,
  AND Level='F' AND JobStatus='T'
  AND JobMedia.JobId=Job.JobId AND JobMedia.MediaId=Media.MediaId
  ORDER BY Job.StartTime DESC LIMIT 20;
-# 5
+# 4
 :List all backups for a Client after a specified time
 *Enter Client Name:
 *Enter time in YYYY-MM-DD HH:MM:SS format:
@@ -55,7 +48,7 @@ SELECT DISTINCT Job.JobId,Client.Name as Client,Level,StartTime,JobFiles,JobByte
  AND JobMedia.JobId=Job.JobId AND JobMedia.MediaId=Media.MediaId
  AND Job.StartTime >= '%2'
  ORDER BY Job.StartTime;
-# 6
+# 5
 :List all backups for a Client
 *Enter Client Name:
 SELECT DISTINCT Job.JobId as JobId,Client.Name as Client,
@@ -63,27 +56,27 @@ SELECT DISTINCT Job.JobId as JobId,Client.Name as Client,
    JobFiles,JobBytes,VolumeName
  FROM Client,Job,JobMedia,Media,FileSet
  WHERE Client.Name='%1'
- AND Client.ClientId=Job.ClientId
- AND JobStatus='T' AND Job.FileSetId=FileSet.FileSetId
+ AND Client.ClientId=Job.ClientId AND Job.Type='B'
+ AND Job.JobStatus='T' AND Job.FileSetId=FileSet.FileSetId
  AND JobMedia.JobId=Job.JobId AND JobMedia.MediaId=Media.MediaId
  ORDER BY Job.StartTime;
-# 7
-:List Volume Attributes for a selected Volume:
+# 6
+:List Volume Attributes for a selected Volume
 *Enter Volume name:
 SELECT Slot,MaxVolBytes,VolCapacityBytes,VolStatus,Recycle,VolRetention,
   VolUseDuration,MaxVolJobs,MaxVolFiles
  FROM Media   
  WHERE VolumeName='%1';
-# 8
-:List Volumes used by selected JobId:
+# 7
+:List Volumes used by selected JobId
 *Enter JobId:
 SELECT DISTINCT Job.JobId,VolumeName 
  FROM Job,JobMedia,Media 
  WHERE Job.JobId=%1 
  AND Job.JobId=JobMedia.JobId 
  AND JobMedia.MediaId=Media.MediaId;
-# 9
-:List Volumes to Restore All Files:
+# 8
+:List Volumes to Restore All Files
 *Enter Client Name:
 !DROP TABLE temp;
 !DROP TABLE temp2;
@@ -132,32 +125,32 @@ INSERT INTO temp2 SELECT DISTINCT Job.JobId,Job.StartTime,Media.VolumeName,
 SELECT DISTINCT VolumeName from temp2;
 !DROP TABLE temp;
 !DROP TABLE temp2;
-# 10
-:List Pool Attributes for a selected Pool:
+# 9
+:List Pool Attributes for a selected Pool
 *Enter Pool name:
 SELECT Recycle,VolRetention,VolUseDuration,MaxVolJobs,MaxVolFiles,MaxVolBytes
  FROM Pool
  WHERE Name='%1';
-# 11
-:List total files/bytes by Job:
+# 10
+:List total files/bytes by Job
 SELECT count(*) AS Jobs,sum(JobFiles) AS Files,sum(JobBytes) AS Bytes,Name AS Job
  FROM Job GROUP by Name;
-# 12
-:List total files/bytes by Volume:
+# 11
+:List total files/bytes by Volume
 SELECT count(*) AS Jobs,sum(JobFiles) AS Files,sum(JobBytes) AS Bytes,VolumeName
  FROM Job,JobMedia,Media
  WHERE JobMedia.JobId=Job.JobId
  AND JobMedia.MediaId=Media.MediaId
  GROUP by VolumeName;  
-# 13
-:List Files for a selected JobId:
+# 12
+:List Files for a selected JobId
 *Enter JobId:
 SELECT Path.Path,Filename.Name FROM File,Filename,Path WHERE File.JobId=%1 
  AND Filename.FilenameId=File.FilenameId 
  AND Path.PathId=File.PathId ORDER BY
  Path.Path,Filename.Name;
-# 14
-:List Jobs stored in a selected MediaId:
+# 13
+:List Jobs stored on a selected MediaId
 *Enter MediaId:
 SELECT DISTINCT Job.JobId,Job.Name,Job.StartTime,Job.Type,
   Job.Level,Job.JobFiles,Job.JobBytes,Job.JobStatus
@@ -165,8 +158,8 @@ SELECT DISTINCT Job.JobId,Job.Name,Job.StartTime,Job.Type,
  WHERE JobMedia.JobId=Job.JobId
  AND JobMedia.MediaId=%1 
  ORDER by Job.StartTime;
-# 15  
-:List Jobs stored for a given Volume name:
+# 14  
+:List Jobs stored for a given Volume name
 *Enter Volume name:
 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,
@@ -176,3 +169,20 @@ SELECT DISTINCT Job.JobId as JobId,Job.Name as Name,Job.StartTime as StartTime,
  AND Media.MediaId=JobMedia.MediaId              
  AND JobMedia.JobId=Job.JobId
  ORDER by Job.StartTime;
+# 15
+:List Volumes Bacula thinks are in changer
+SELECT MediaId,VolumeName,VolBytes/(1024*1024*1024) AS GB,Storage.Name 
+  AS Storage,Slot,Pool.Name AS Pool,MediaType,VolStatus
+  FROM Media,Pool,Storage
+  WHERE Media.PoolId=Pool.PoolId
+  AND Slot>0 AND InChanger=1
+  AND Media.StorageId=Storage.StorageId
+  ORDER BY MediaType ASC, Slot ASC;
+# 16
+:List Volumes likely to need replacement from age or errors
+SELECT VolumeName AS Volume,VolMounts AS Mounts,VolErrors AS Errors,
+         VolWrites AS Writes,VolStatus AS Status
+  FROM Media
+  WHERE (VolErrors>0) OR (VolStatus='Error') OR (VolMounts>50) OR
+         (VolStatus='Disabled') OR (VolWrites>3999999)
+  ORDER BY VolStatus ASC, VolErrors,VolMounts,VolumeName DESC;