]> git.sur5r.net Git - bacula/bacula/blob - bacula/src/dird/query.sql
8238854211ac1299904af53061a52cd0ee9b58a6
[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 # create list of files to be deleted
55 #
56 :List files older than n days to be dropped:
57 *Enter retention period:
58 # First cleanup
59 drop table if exists retension;
60 # First create table with all files older than n days
61 create temporary table retension
62   select Job.JobId,File.FileId,Path.PathId,Filename.FilenameId
63   from Filename,File,Path,JobMedia,Media,Job
64   where JobMedia.JobId=File.JobId 
65   and Job.JobId=File.JobId
66   and Media.MediaId=JobMedia.MediaId 
67   and Filename.FilenameId=File.FilenameId
68   and Path.PathId=File.PathId
69   and (to_days(current_date) - to_days(EndTime)) > %1;
70 # Now select entries that have a more recent backup
71 select retension.JobId,retension.FileId,Path.Path,Filename.Name
72   from retension,Filename,File,Path,Job
73   where Job.JobId!=retension.JobId
74   and (to_days(current_date) - to_days(Job.EndTime)) <= %1
75   and Job.JobId=File.JobId
76   and Filename.FilenameId=File.FilenameId
77   and Path.PathId=File.PathId
78   and retension.PathId=File.PathId
79   and retension.FilenameId=File.FilenameId;