]> git.sur5r.net Git - bacula/bacula/blob - bacula/src/dird/query.sql
This commit was manufactured by cvs2svn to create tag
[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 
4  FROM Job 
5  GROUP BY Name;
6 SELECT max(JobId) AS Jobs,sum(JobFiles) AS Files,sum(JobBytes) As Bytes 
7  FROM Job;
8 # 2 
9 :List up to 20 places where a File is saved regardless of the directory:
10 *Enter Filename (no path):
11 SELECT DISTINCT Job.JobId as JobId, Client.Name as Client,
12   Path.Path,Filename.Name,StartTime,Level,JobFiles,JobBytes
13  FROM Client,Job,File,Filename,Path WHERE Client.ClientId=Job.ClientId
14  AND JobStatus='T' AND Job.JobId=File.JobId
15  AND Path.PathId=File.PathId AND Filename.FilenameId=File.FilenameId
16  AND Filename.Name='%1' 
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 DISTINCT 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  ORDER BY Job.StartTime DESC LIMIT 5;
35 # 4
36 :List last 20 Full Backups for a Client:
37 *Enter Client name:
38 SELECT DISTINCT Job.JobId,Client.Name AS Client,StartTime,JobFiles,JobBytes,
39   JobMedia.StartFile as VolFile,VolumeName
40  FROM Client,Job,JobMedia,Media
41  WHERE Client.Name='%1'
42  AND Client.ClientId=Job.ClientId
43  AND Level='F' AND JobStatus='T'
44  AND JobMedia.JobId=Job.JobId AND JobMedia.MediaId=Media.MediaId
45  ORDER BY Job.StartTime DESC LIMIT 20;
46 # 5
47 :List all backups for a Client after a specified time
48 *Enter Client Name:
49 *Enter time in YYYY-MM-DD HH:MM:SS format:
50 SELECT DISTINCT Job.JobId,Client.Name as Client,Level,StartTime,JobFiles,JobBytes,VolumeName
51  FROM Client,Job,JobMedia,Media
52  WHERE Client.Name='%1'
53  AND Client.ClientId=Job.ClientId
54  AND JobStatus='T'
55  AND JobMedia.JobId=Job.JobId AND JobMedia.MediaId=Media.MediaId
56  AND Job.StartTime >= '%2'
57  ORDER BY Job.StartTime;
58 # 6
59 :List all backups for a Client
60 *Enter Client Name:
61 SELECT DISTINCT Job.JobId as JobId,Client.Name as Client,Level,StartTime,
62    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,sum(JobBytes) AS Bytes,Name AS Job
143  FROM Job GROUP by Name;
144 # 12
145 :List total files/bytes by Volume:
146 SELECT count(*) AS Jobs,sum(JobFiles) AS Files,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,Filename,Path WHERE File.JobId=%1 
155  AND Filename.FilenameId=File.FilenameId 
156  AND Path.PathId=File.PathId ORDER BY
157  Path.Path,Filename.Name;
158 # 14
159 :List Jobs stored in a selected MediaId:
160 *Enter MediaId:
161 SELECT DISTINCT Job.JobId,Job.Name,Job.StartTime,Job.Type,
162   Job.Level,Job.JobFiles,Job.JobBytes,Job.JobStatus
163  FROM JobMedia,Job
164  WHERE JobMedia.JobId=Job.JobId
165  AND JobMedia.MediaId=%1 
166  ORDER by Job.StartTime;
167 # 15  
168 :List Jobs stored for a given Volume name:
169 *Enter Volume name:
170 SELECT DISTINCT Job.JobId as JobId,Job.Name as Name,Job.StartTime as StartTime,
171   Job.Type as Type,Job.Level as Level,Job.JobFiles as Files,
172   Job.JobBytes as Bytes,Job.JobStatus as Status
173  FROM Media,JobMedia,Job
174  WHERE Media.VolumeName='%1'
175  AND Media.MediaId=JobMedia.MediaId              
176  AND JobMedia.JobId=Job.JobId
177  ORDER by Job.StartTime;