]> git.sur5r.net Git - bacula/bacula/blob - bacula/src/dird/query.sql
Replace INTEGER UNSIGNED and BIGINT UNSIGNED
[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 # 2 
7 :List where a File is saved regardless of the directory:
8 *Enter Filename (no path):
9 SELECT Job.JobId as JobId, Client.Name as Client,
10  Path.Path,Filename.Name,
11  StartTime,Level,JobFiles,JobBytes
12  FROM Client,Job,File,Filename,Path WHERE Client.ClientId=Job.ClientId
13  AND JobStatus='T' AND Job.JobId=File.JobId
14  AND Path.PathId=File.PathId AND Filename.FilenameId=File.FilenameId
15  AND Filename.Name='%1' 
16  GROUP BY Job.JobId
17  ORDER BY Job.StartTime LIMIT 20;
18 # 3
19 :List where the most recent copies of a file are saved:
20 *Enter path with trailing slash:
21 *Enter filename:
22 *Enter Client name:
23 SELECT Job.JobId,StartTime AS JobStartTime,VolumeName,Client.Name AS ClientName
24  FROM Job,File,Path,Filename,Media,JobMedia,Client
25  WHERE File.JobId=Job.JobId
26  AND Path.Path='%1'
27  AND Filename.Name='%2'
28  AND Client.Name='%3'
29  AND Path.PathId=File.PathId
30  AND Filename.FilenameId=File.FilenameId
31  AND JobMedia.JobId=Job.JobId
32  AND JobMedia.MediaId=Media.MediaId
33  AND Client.ClientId=Job.ClientId
34  GROUP BY Job.JobId
35  ORDER BY Job.StartTime DESC LIMIT 5;
36 # 4
37 :List last 20 Full Backups for a Client:
38 *Enter Client name:
39 SELECT DISTINCT Job.JobId,Client.Name AS Client,StartTime,JobFiles,JobBytes,
40 JobMedia.StartFile as VolFile,VolumeName
41  FROM Client,Job,JobMedia,Media
42  WHERE Client.Name='%1'
43  AND Client.ClientId=Job.ClientId
44  AND Level='F' AND JobStatus='T'
45  AND JobMedia.JobId=Job.JobId AND JobMedia.MediaId=Media.MediaId
46  ORDER BY Job.StartTime DESC LIMIT 20;
47 # 5
48 :List all backups for a Client after a specified time
49 *Enter Client Name:
50 *Enter time in YYYY-MM-DD HH:MM:SS format:
51 SELECT DISTINCT Job.JobId,Client.Name as Client,Level,StartTime,JobFiles,JobBytes,VolumeName
52   FROM Client,Job,JobMedia,Media
53   WHERE Client.Name='%1'
54   AND Client.ClientId=Job.ClientId
55   AND JobStatus='T'
56   AND JobMedia.JobId=Job.JobId AND JobMedia.MediaId=Media.MediaId
57   AND Job.StartTime >= '%2'
58   ORDER BY Job.StartTime;
59 # 6
60 :List all backups for a Client
61 *Enter Client Name:
62 SELECT DISTINCT Job.JobId,Client.Name as Client,Level,StartTime,JobFiles,JobBytes,VolumeName
63   FROM Client,Job,JobMedia,Media
64   WHERE Client.Name='%1'
65   AND Client.ClientId=Job.ClientId
66   AND JobStatus='T'
67   AND JobMedia.JobId=Job.JobId AND JobMedia.MediaId=Media.MediaId
68   ORDER BY Job.StartTime;
69 # 7
70 :List Volume Attributes for a selected Volume:
71 *Enter Volume name:
72 SELECT Slot,MaxVolBytes,VolCapacityBytes,VolStatus,Recycle,VolRetention,
73  VolUseDuration,MaxVolJobs,MaxVolFiles
74  FROM Media   
75  WHERE VolumeName='%1';
76 # 8
77 :List Volumes used by selected JobId:
78 *Enter JobId:
79 SELECT DISTINCT Job.JobId,VolumeName 
80  FROM Job,JobMedia,Media 
81  WHERE Job.JobId=%1 
82  AND Job.JobId=JobMedia.JobId 
83  AND JobMedia.MediaId=Media.MediaId;
84 # 9
85 :List Volumes to Restore All Files:
86 *Enter Client Name:
87 !DROP TABLE temp;
88 !DROP TABLE temp2;
89 CREATE TABLE temp (JobId BIGINT NOT NULL,
90  JobTDate BIGINT,
91  ClientId BIGINT,
92  Level CHAR,
93  StartTime TEXT,
94  VolumeName TEXT,
95  StartFile BIGINT, 
96  VolSessionId BIGINT,
97  VolSessionTime BIGINT );
98 CREATE TABLE temp2 (JobId BIGINT NOT NULL,
99  StartTime TEXT,
100  VolumeName TEXT,
101  Level CHAR,
102  StartFile BIGINT, 
103  VolSessionId BIGINT,
104  VolSessionTime BIGINT);
105 # Select last Full save
106 INSERT INTO temp SELECT Job.JobId,JobTDate,Job.ClientId,Job.Level,
107    StartTime,VolumeName,JobMedia.StartFile,VolSessionId,VolSessionTime
108  FROM Client,Job,JobMedia,Media WHERE Client.Name='%1'
109  AND Client.ClientId=Job.ClientId
110  AND Level='F' AND JobStatus='T'
111  AND JobMedia.JobId=Job.JobId 
112  AND JobMedia.MediaId=Media.MediaId
113  ORDER BY Job.JobTDate DESC LIMIT 1;
114 # Copy into temp 2 getting all volumes of Full save
115 INSERT INTO temp2 SELECT Job.JobId,Job.StartTime,Media.VolumeName,Job.Level,
116    JobMedia.StartFile,Job.VolSessionId,Job.VolSessionTime
117  FROM temp,Job,JobMedia,Media WHERE temp.JobId=Job.JobId
118  AND Job.Level='F' AND Job.JobStatus='T'
119  AND JobMedia.JobId=Job.JobId
120  AND JobMedia.MediaId=Media.MediaId;
121 # Now add subsequent incrementals
122 INSERT INTO temp2 SELECT DISTINCT Job.JobId,Job.StartTime,Media.VolumeName,
123    Job.Level,JobMedia.StartFile,Job.VolSessionId,Job.VolSessionTime
124  FROM Job,temp,JobMedia,Media
125  WHERE Job.JobTDate>temp.JobTDate 
126  AND Job.ClientId=temp.ClientId
127  AND Job.Level IN ('I','D') AND JobStatus='T'
128  AND JobMedia.JobId=Job.JobId 
129  AND JobMedia.MediaId=Media.MediaId;
130 # list results
131 SELECT DISTINCT VolumeName from temp2;
132 !DROP TABLE temp;
133 !DROP TABLE temp2;
134 # 10
135 :List Pool Attributes for a selected Pool:
136 *Enter Pool name:
137 SELECT Recycle,VolRetention,VolUseDuration,MaxVolJobs,MaxVolFiles,MaxVolBytes
138  FROM Pool
139  WHERE Name='%1';
140 # 11
141 :List total files/bytes by Job:
142 SELECT count(*) AS Jobs, sum(JobFiles) AS Files,
143  sum(JobBytes) AS Bytes, Name AS Job
144  FROM Job GROUP by Name
145 # 12
146 :List total files/bytes by Volume:
147 SELECT count(*) AS Jobs, sum(JobFiles) AS Files,
148  sum(JobBytes) AS Bytes, VolumeName
149  FROM Job,JobMedia,Media
150  WHERE JobMedia.JobId=Job.JobId
151  AND JobMedia.MediaId=Media.MediaId
152  GROUP by VolumeName;  
153 # 13
154 :List Files for a selected JobId:
155 *Enter JobId:
156 SELECT Path.Path,Filename.Name FROM File,
157  Filename,Path WHERE File.JobId=%1 
158  AND Filename.FilenameId=File.FilenameId 
159  AND Path.PathId=File.PathId ORDER BY
160  Path.Path,Filename.Name;
161 # 14
162 :List Jobs stored in a selected MediaId:
163 *Enter MediaId:
164 SELECT DISTINCT Job.JobId,Job.Name,Job.StartTime,Job.Type,
165  Job.Level,Job.JobFiles,Job.JobBytes,Job.JobStatus
166   FROM JobMedia,Job
167   WHERE JobMedia.JobId=Job.JobId
168   AND JobMedia.MediaId=%1 
169   ORDER by Job.StartTime;
170 # 15  
171 :List Jobs stored for a given Volume name:
172 *Enter Volume name:
173 SELECT Job.JobId as JobId,Job.Name as Name,Job.StartTime as StartTime,
174   Job.Type as Type,Job.Level as Level,Job.JobFiles as Files,
175   Job.JobBytes as Bytes,Job.JobStatus as Status
176   FROM Media,JobMedia,Job
177   WHERE Media.VolumeName='%1'
178   AND Media.MediaId=JobMedia.MediaId              
179   AND JobMedia.JobId=Job.JobId
180   GROUP BY Job.JobId ORDER by Job.StartTime;