]> git.sur5r.net Git - bacula/bacula/blob - bacula/src/dird/query.sql
61ecdc4c3c29c089ae8daaf7e3c4cdfb4736fded
[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 Job.StartTime DESC LIMIT 20;
51 #
52 :List all backups for a Client after a specified time
53 *Enter Client Name:
54 *Enter time in YYYY-MM-DD HH:MM:SS format:
55 Select Job.JobId,Client.Name as Client,Level,StartTime,JobFiles,JobBytes,VolumeName
56   FROM Client,Job,JobMedia,Media
57   WHERE Client.Name='%1'
58   AND Client.ClientId=Job.ClientId
59   AND JobStatus='T'
60   AND JobMedia.JobId=Job.JobId AND JobMedia.MediaId=Media.MediaId
61   AND Job.StartTime >= '%2'
62   ORDER BY Job.StartTime;
63 #
64 :List all backups for a Client
65 *Enter Client Name:
66 Select Job.JobId,Client.Name as Client,Level,StartTime,JobFiles,JobBytes,VolumeName
67   FROM Client,Job,JobMedia,Media
68   WHERE Client.Name='%1'
69   AND Client.ClientId=Job.ClientId
70   AND JobStatus='T'
71   AND JobMedia.JobId=Job.JobId AND JobMedia.MediaId=Media.MediaId
72   ORDER BY Job.StartTime;
73 #
74 :List Volume Attributes for a selected Volume:
75 *Enter Volume name:
76 SELECT Slot,MaxVolBytes,VolCapacityBytes,VolStatus,Recycle,VolRetention,
77  VolUseDuration,MaxVolJobs,MaxVolFiles
78  FROM Media   
79  WHERE Volumename='%1';
80 #
81 :List Volumes used by selected JobId:
82 *Enter JobId:
83 SELECT Job.JobId,VolumeName 
84  FROM Job,JobMedia,Media 
85  WHERE Job.JobId=%1 
86  AND Job.JobId=JobMedia.JobId 
87  AND JobMedia.MediaId=Media.MediaId;
88 #
89 :List Volumes to Restore All Files:
90 *Enter Client Name:
91 !DROP TABLE temp;
92 !DROP TABLE temp2;
93 CREATE TABLE temp (JobId INTEGER UNSIGNED NOT NULL,
94  JobTDate BIGINT UNSIGNED,
95  ClientId INTEGER UNSIGNED,
96  Level CHAR,
97  StartTime TEXT,
98  VolumeName TEXT,
99  StartFile INTEGER UNSIGNED, 
100  VolSessionId INTEGER UNSIGNED,
101  VolSessionTime INTEGER UNSIGNED);
102 CREATE TABLE temp2 (JobId INTEGER UNSIGNED NOT NULL,
103  StartTime TEXT,
104  VolumeName TEXT,
105  Level CHAR,
106  StartFile INTEGER UNSIGNED, 
107  VolSessionId INTEGER UNSIGNED,
108  VolSessionTime INTEGER UNSIGNED);
109 # Select last Full save
110 INSERT INTO temp SELECT Job.JobId,JobTDate,Job.ClientId,Job.Level,
111    StartTime,VolumeName,JobMedia.StartFile,VolSessionId,VolSessionTime
112  FROM Client,Job,JobMedia,Media WHERE Client.Name='%1'
113  AND Client.ClientId=Job.ClientId
114  AND Level='F' AND JobStatus='T'
115  AND JobMedia.JobId=Job.JobId 
116  AND JobMedia.MediaId=Media.MediaId
117  ORDER BY Job.JobTDate DESC LIMIT 1;
118 # Copy into temp 2
119 INSERT INTO temp2 SELECT JobId,StartTime,VolumeName,Level,StartFile, 
120    VolSessionId,VolSessionTime
121  FROM temp;
122 # Now add subsequent incrementals
123 INSERT INTO temp2 SELECT Job.JobId,Job.StartTime,Media.VolumeName,
124    Job.Level,JobMedia.StartFile,Job.VolSessionId,Job.VolSessionTime
125  FROM Job,temp,JobMedia,Media
126  WHERE Job.JobTDate>temp.JobTDate 
127  AND Job.ClientId=temp.ClientId
128  AND Job.Level='I' AND JobStatus='T'
129  AND JobMedia.JobId=Job.JobId 
130  AND JobMedia.MediaId=Media.MediaId
131  GROUP BY Job.JobId;
132 # list results
133 SELECT * from temp2;
134 !DROP TABLE temp;
135 !DROP TABLE temp2;
136 #
137 :List Pool Attributes for a selected Pool:
138 *Enter Pool name:
139 SELECT Recycle,VolRetention,VolUseDuration,MaxVolJobs,MaxVolFiles,MaxVolBytes
140  FROM Pool
141  WHERE Name='%1';
142 #
143 :List where a File is saved:
144 *Enter Filename (no path):
145 SELECT Job.JobId as JobId, Client.Name as Client,
146  Path.Path,Filename.Name,
147  StartTime,Level,JobFiles,JobBytes
148  FROM Client,Job,File,Filename,Path WHERE Client.ClientId=Job.ClientId
149  AND JobStatus='T' AND Job.JobId=File.JobId
150  AND Path.PathId=File.PathId AND Filename.FilenameId=File.FilenameId
151  AND Filename.Name='%1' ORDER BY Job.StartTime LIMIT 20;
152 #
153 :List total files/bytes by Job:
154 SELECT count(*) AS Jobs, sum(JobFiles) AS Files,
155  sum(JobBytes) AS Bytes, Name AS Job
156  FROM Job GROUP by Name
157 #
158 :List total files/bytes by Volume:
159 SELECT count(*) AS Jobs, sum(JobFiles) AS Files,
160  sum(JobBytes) AS Bytes, VolumeName
161  FROM Job,JobMedia,Media
162  WHERE JobMedia.JobId=Job.JobId
163  AND JobMedia.MediaId=Media.MediaId
164  GROUP by VolumeName;  
165 #
166 :List Files for a selected JobId:
167 *Enter JobId:
168 SELECT Path.Path,Filename.Name FROM File,
169  Filename,Path WHERE File.JobId=%1 
170  AND Filename.FilenameId=File.FilenameId 
171  AND Path.PathId=File.PathId ORDER BY
172  Path.Path,Filename.Name;