]> git.sur5r.net Git - bacula/bacula/blob - bacula/src/dird/query.sql
1e9db805fa9988e9ef62b1da2a1c6f067884c72d
[bacula/bacula] / bacula / src / dird / query.sql
1 :List Job totals:
2 SELECT  count(*) AS Jobs, sum(JobFiles) AS Files, 
3  sum(JobBytes) AS Bytes, Name AS Job FROM Job GROUP BY Name;
4 SELECT max(JobId) AS Jobs,sum(JobFiles) AS Files,
5  sum(JobBytes) As Bytes FROM Job
6 #
7 :List where a file is saved:
8 *Enter path with trailing slash:
9 *Enter filename:
10 *Enter Client name:
11 SELECT Job.JobId, StartTime AS JobStartTime, VolumeName, Client.Name AS ClientName
12  FROM Job,File,Path,Filename,Media,JobMedia,Client
13  WHERE File.JobId=Job.JobId
14  AND Path.Path='%1'
15  AND Filename.Name='%2'
16  AND Client.Name='%3'
17  AND Path.PathId=File.PathId
18  AND Filename.FilenameId=File.FilenameId
19  AND JobMedia.JobId=Job.JobId
20  AND JobMedia.MediaId=Media.MediaId
21  AND Client.ClientId=Job.ClientId
22  GROUP BY Job.JobId;
23 #
24 :List where the most recent copies of a file are saved:
25 *Enter path with trailing slash:
26 *Enter filename:
27 *Enter Client name:
28 SELECT Job.JobId, StartTime AS JobStartTime, VolumeName, Client.Name AS ClientName
29  FROM Job,File,Path,Filename,Media,JobMedia,Client
30  WHERE File.JobId=Job.JobId
31  AND Path.Path='%1'
32  AND Filename.Name='%2'
33  AND Client.Name='%3'
34  AND Path.PathId=File.PathId
35  AND Filename.FilenameId=File.FilenameId
36  AND JobMedia.JobId=Job.JobId
37  AND JobMedia.MediaId=Media.MediaId
38  AND Client.ClientId=Job.ClientId
39  ORDER BY Job.StartTime DESC LIMIT 5;
40 #
41 :List last 20 Full Backups for a Client:
42 *Enter Client name:
43 Select Job.JobId,Client.Name as Client,StartTime,JobFiles,JobBytes,
44 JobMedia.StartFile as VolFile, VolumeName
45  FROM Client,Job,JobMedia,Media
46  WHERE Client.Name='%1'
47  AND Client.ClientId=Job.ClientId
48  AND Level='F' AND JobStatus='T'
49  AND JobMedia.JobId=Job.JobId AND JobMedia.MediaId=Media.MediaId
50  ORDER BY JobId DESC LIMIT 20;
51 #
52 :List Volume Attributes for a selected Volume:
53 *Enter Volume name:
54 SELECT Slot,MaxVolBytes,VolCapacityBytes,VolStatus,Recycle,VolRetention,
55  VolUseDuration,MaxVolJobs,MaxVolFiles
56  FROM Media   
57  WHERE Volumename='%1';
58 #
59 :List Volumes used by selected JobId:
60 *Enter JobId:
61 SELECT Job.JobId,VolumeName 
62  FROM Job,JobMedia,Media 
63  WHERE Job.JobId=%1 
64  AND Job.JobId=JobMedia.JobId 
65  AND JobMedia.MediaId=Media.MediaId;
66 #
67 :List Volumes to Restore All Files:
68 *Enter Client Name:
69 !DROP TABLE temp;
70 !DROP TABLE temp2;
71 CREATE TABLE temp (JobId INTEGER UNSIGNED NOT NULL,
72  JobTDate BIGINT UNSIGNED,
73  ClientId INTEGER UNSIGNED,
74  Level CHAR,
75  StartTime TEXT,
76  VolumeName TEXT,
77  StartFile INTEGER UNSIGNED, 
78  VolSessionId INTEGER UNSIGNED,
79  VolSessionTime INTEGER UNSIGNED);
80 CREATE TABLE temp2 (JobId INTEGER UNSIGNED NOT NULL,
81  StartTime TEXT,
82  VolumeName TEXT,
83  Level CHAR,
84  StartFile INTEGER UNSIGNED, 
85  VolSessionId INTEGER UNSIGNED,
86  VolSessionTime INTEGER UNSIGNED);
87 # Select last Full save
88 INSERT INTO temp SELECT Job.JobId,JobTDate,Job.ClientId,Job.Level,
89    StartTime,VolumeName,JobMedia.StartFile,VolSessionId,VolSessionTime
90  FROM Client,Job,JobMedia,Media WHERE Client.Name='%1'
91  AND Client.ClientId=Job.ClientId
92  AND Level='F' AND JobStatus='T'
93  AND JobMedia.JobId=Job.JobId 
94  AND JobMedia.MediaId=Media.MediaId
95  ORDER BY Job.JobTDate DESC LIMIT 1;
96 # Copy into temp 2
97 INSERT INTO temp2 SELECT JobId,StartTime,VolumeName,Level,StartFile, 
98    VolSessionId,VolSessionTime
99  FROM temp;
100 # Now add subsequent incrementals
101 INSERT INTO temp2 SELECT Job.JobId,Job.StartTime,Media.VolumeName,
102    Job.Level,JobMedia.StartFile,Job.VolSessionId,Job.VolSessionTime
103  FROM Job,temp,JobMedia,Media
104  WHERE Job.JobTDate>temp.JobTDate 
105  AND Job.ClientId=temp.ClientId
106  AND Job.Level='I' AND JobStatus='T'
107  AND JobMedia.JobId=Job.JobId 
108  AND JobMedia.MediaId=Media.MediaId
109  GROUP BY Job.JobId;
110 # list results
111 SELECT * from temp2;
112 !DROP TABLE temp;
113 !DROP TABLE temp2;
114 #
115 :List Pool Attributes for a selected Pool:
116 *Enter Pool name:
117 SELECT Recycle,VolRetention,VolUseDuration,MaxVolJobs,MaxVolFiles,MaxVolBytes
118  FROM Pool
119  WHERE Name='%1';
120 #
121 :List where a File is saved:
122 *Enter Filename (no path):
123 SELECT Job.JobId as JobId, Client.Name as Client,
124  Path.Path,Filename.Name,
125  StartTime,Level,JobFiles,JobBytes
126  FROM Client,Job,File,Filename,Path WHERE Client.ClientId=Job.ClientId
127  AND JobStatus='T' AND Job.JobId=File.JobId
128  AND Path.PathId=File.PathId AND Filename.FilenameId=File.FilenameId
129  AND Filename.Name='%1' ORDER BY Job.JobId LIMIT 20;
130 #
131 :List total files/bytes by Job:
132 SELECT count(*) AS Jobs, sum(JobFiles) AS Files,
133  sum(JobBytes) AS Bytes, Name AS Job
134  FROM Job GROUP by Name
135 #
136 :List total files/bytes by Volume:
137 SELECT count(*) AS Jobs, sum(JobFiles) AS Files,
138  sum(JobBytes) AS Bytes, VolumeName
139  FROM Job,JobMedia,Media
140  WHERE JobMedia.JobId=Job.JobId
141  AND JobMedia.MediaId=Media.MediaId
142  GROUP by VolumeName;