]> git.sur5r.net Git - bacula/bacula/blob - bacula/src/dird/query.sql
Document bootstrap
[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 total files/bytes by Job:
42 SELECT count(*) AS Jobs, sum(JobFiles) AS Files,
43  sum(JobBytes) AS Bytes, Name AS Job
44  FROM Job GROUP by Name
45 #
46 :List total files/bytes by Volume:
47 SELECT count(*) AS Jobs, sum(JobFiles) AS Files,
48  sum(JobBytes) AS Bytes, VolumeName
49  FROM Job,JobMedia,Media
50  WHERE JobMedia.JobId=Job.JobId
51  AND JobMedia.MediaId=Media.MediaId
52  GROUP by VolumeName;  
53 #
54 :List last 10 Full Backups for a Client:
55 *Enter Client name:
56 Select JobId,Client.Name as Client,StartTime,JobFiles,JobBytes
57  FROM Client,Job
58  WHERE Client.Name="%1"
59  AND Client.ClientId=Job.ClientId
60  AND Level='F' AND JobStatus='T'
61  LIMIT 10;
62 #
63 :List Volumes used by selected JobId:
64 *Enter JobId:
65 SELECT Job.JobId,VolumeName 
66  FROM Job,JobMedia,Media 
67  WHERE Job.JobId=%1 
68  AND Job.JobId=JobMedia.JobId 
69  AND JobMedia.MediaId=Media.MediaId;
70 #
71 :List Volumes to Restore All Files:
72 *Enter Client Name:
73 !DROP TABLE temp;
74 !DROP TABLE temp2;
75 CREATE TABLE temp (JobId INTEGER UNSIGNED NOT NULL,
76  JobTDate BIGINT UNSIGNED,
77  ClientId INTEGER UNSIGNED,
78  StartTime TEXT,
79  VolumeName TEXT,
80  StartFile INTEGER UNSIGNED, 
81  VolSessionId INTEGER UNSIGNED,
82  VolSessionTime INTEGER UNSIGNED);
83 CREATE TABLE temp2 (JobId INTEGER UNSIGNED NOT NULL,
84  StartTime TEXT,
85  VolumeName TEXT,
86  StartFile INTEGER UNSIGNED, 
87  VolSessionId INTEGER UNSIGNED,
88  VolSessionTime INTEGER UNSIGNED);
89 INSERT INTO temp SELECT Job.JobId,MAX(JobTDate),Job.ClientId,StartTime,VolumeName,
90    JobMedia.StartFile,VolSessionId,VolSessionTime
91  FROM Client,Job,JobMedia,Media WHERE Client.Name="%1"
92  AND Client.ClientId=Job.ClientId
93  AND Level='F' AND JobStatus='T'
94  AND JobMedia.JobId=Job.JobId 
95  AND JobMedia.MediaId=Media.MediaId
96  GROUP BY Job.JobTDate LIMIT 1;
97 INSERT INTO temp2 SELECT JobId,StartTime,VolumeName,StartFile, 
98    VolSessionId,VolSessionTime
99  FROM temp;
100 INSERT INTO temp2 SELECT Job.JobId,Job.StartTime,Media.VolumeName,
101    JobMedia.StartFile,Job.VolSessionId,Job.VolSessionTime
102  FROM Job,temp,JobMedia,Media
103  WHERE Job.JobTDate>temp.JobTDate 
104  AND Job.ClientId=temp.ClientId
105  AND Level='I' AND JobStatus='T'
106  AND JobMedia.JobId=Job.JobId 
107  AND JobMedia.MediaId=Media.MediaId
108  GROUP BY Job.JobId;
109 SELECT * from temp2;
110 !DROP TABLE temp;
111 !DROP TABLE temp2;
112 #