]> git.sur5r.net Git - bacula/bacula/blob - bacula/src/dird/query.sql
Restore JobIds in right order + Tru64 porting
[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 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,Client.Name as Client,Level,StartTime,JobFiles,JobBytes,VolumeName
62  FROM Client,Job,JobMedia,Media
63  WHERE Client.Name='%1'
64  AND Client.ClientId=Job.ClientId
65  AND JobStatus='T'
66  AND JobMedia.JobId=Job.JobId AND JobMedia.MediaId=Media.MediaId
67  ORDER BY Job.StartTime;
68 # 7
69 :List Volume Attributes for a selected Volume:
70 *Enter Volume name:
71 SELECT Slot,MaxVolBytes,VolCapacityBytes,VolStatus,Recycle,VolRetention,
72   VolUseDuration,MaxVolJobs,MaxVolFiles
73  FROM Media   
74  WHERE VolumeName='%1';
75 # 8
76 :List Volumes used by selected JobId:
77 *Enter JobId:
78 SELECT DISTINCT Job.JobId,VolumeName 
79  FROM Job,JobMedia,Media 
80  WHERE Job.JobId=%1 
81  AND Job.JobId=JobMedia.JobId 
82  AND JobMedia.MediaId=Media.MediaId;
83 # 9
84 :List Volumes to Restore All Files:
85 *Enter Client Name:
86 !DROP TABLE temp;
87 !DROP TABLE temp2;
88 CREATE TABLE temp (JobId BIGINT NOT NULL,
89  JobTDate BIGINT,
90  ClientId BIGINT,
91  Level CHAR,
92  StartTime TEXT,
93  VolumeName TEXT,
94  StartFile BIGINT, 
95  VolSessionId BIGINT,
96  VolSessionTime BIGINT );
97 CREATE TABLE temp2 (JobId BIGINT NOT NULL,
98  StartTime TEXT,
99  VolumeName TEXT,
100  Level CHAR,
101  StartFile BIGINT, 
102  VolSessionId BIGINT,
103  VolSessionTime BIGINT);
104 # Select last Full save
105 INSERT INTO temp SELECT Job.JobId,JobTDate,Job.ClientId,Job.Level,
106   StartTime,VolumeName,JobMedia.StartFile,VolSessionId,VolSessionTime
107  FROM Client,Job,JobMedia,Media WHERE Client.Name='%1'
108  AND Client.ClientId=Job.ClientId
109  AND Level='F' AND JobStatus='T'
110  AND JobMedia.JobId=Job.JobId 
111  AND JobMedia.MediaId=Media.MediaId
112  ORDER BY Job.JobTDate DESC LIMIT 1;
113 # Copy into temp 2 getting all volumes of Full save
114 INSERT INTO temp2 SELECT Job.JobId,Job.StartTime,Media.VolumeName,Job.Level,
115   JobMedia.StartFile,Job.VolSessionId,Job.VolSessionTime
116  FROM temp,Job,JobMedia,Media WHERE temp.JobId=Job.JobId
117  AND Job.Level='F' AND Job.JobStatus='T'
118  AND JobMedia.JobId=Job.JobId
119  AND JobMedia.MediaId=Media.MediaId;
120 # Now add subsequent incrementals
121 INSERT INTO temp2 SELECT DISTINCT Job.JobId,Job.StartTime,Media.VolumeName,
122   Job.Level,JobMedia.StartFile,Job.VolSessionId,Job.VolSessionTime
123  FROM Job,temp,JobMedia,Media
124  WHERE Job.JobTDate>temp.JobTDate 
125  AND Job.ClientId=temp.ClientId
126  AND Job.Level IN ('I','D') AND JobStatus='T'
127  AND JobMedia.JobId=Job.JobId 
128  AND JobMedia.MediaId=Media.MediaId;
129 # list results
130 SELECT DISTINCT VolumeName from temp2;
131 !DROP TABLE temp;
132 !DROP TABLE temp2;
133 # 10
134 :List Pool Attributes for a selected Pool:
135 *Enter Pool name:
136 SELECT Recycle,VolRetention,VolUseDuration,MaxVolJobs,MaxVolFiles,MaxVolBytes
137  FROM Pool
138  WHERE Name='%1';
139 # 11
140 :List total files/bytes by Job:
141 SELECT count(*) AS Jobs,sum(JobFiles) AS Files,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,sum(JobBytes) AS Bytes,VolumeName
146  FROM Job,JobMedia,Media
147  WHERE JobMedia.JobId=Job.JobId
148  AND JobMedia.MediaId=Media.MediaId
149  GROUP by VolumeName;  
150 # 13
151 :List Files for a selected JobId:
152 *Enter JobId:
153 SELECT Path.Path,Filename.Name FROM File,Filename,Path WHERE File.JobId=%1 
154  AND Filename.FilenameId=File.FilenameId 
155  AND Path.PathId=File.PathId ORDER BY
156  Path.Path,Filename.Name;
157 # 14
158 :List Jobs stored in a selected MediaId:
159 *Enter MediaId:
160 SELECT DISTINCT Job.JobId,Job.Name,Job.StartTime,Job.Type,
161   Job.Level,Job.JobFiles,Job.JobBytes,Job.JobStatus
162  FROM JobMedia,Job
163  WHERE JobMedia.JobId=Job.JobId
164  AND JobMedia.MediaId=%1 
165  ORDER by Job.StartTime;
166 # 15  
167 :List Jobs stored for a given Volume name:
168 *Enter Volume name:
169 SELECT DISTINCT Job.JobId as JobId,Job.Name as Name,Job.StartTime as StartTime,
170   Job.Type as Type,Job.Level as Level,Job.JobFiles as Files,
171   Job.JobBytes as Bytes,Job.JobStatus as Status
172  FROM Media,JobMedia,Job
173  WHERE Media.VolumeName='%1'
174  AND Media.MediaId=JobMedia.MediaId              
175  AND JobMedia.JobId=Job.JobId
176  ORDER by Job.StartTime;