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