From: Arno L. <al...@it...> - 2007-06-28 20:15:21
|
Hi, 28.06.2007 20:59,, Alan Brown wrote:: > Thanks to David for the snippet this morning. > > I wanted to find tapes which were expired (or very close to expired(*)) > and have them loaded into the autochanger before they are purged, plus not > have bacula suggest they be removed. > > > Here are the 2 snippets I suggest for this. > > They're adaptions of the existing entries and the advantage of these is > that an expired-but-not-purged tape will be flagged for inclusion in the > changer _BEFORE_ Bacula asks for it. > > :List Volumes Bacula thinks should be removed from changer > SELECT VolumeName,VolStatus, VolBytes/(1024*1024*1024) AS GB, > LastWritten, > FROM_UNIXTIME(UNIX_TIMESTAMP(Media.LastWritten) + Media.VolRetention) AS Expiry, > Slot,Storage.Name AS Location > FROM Media,Pool,Storage > WHERE Media.PoolId=Pool.PoolId > AND Slot>0 AND InChanger=1 > AND Media.StorageId=Storage.StorageId > AND ((DATEDIFF(FROM_UNIXTIME(UNIX_TIMESTAMP(LastWritten) > + (Media.VolRetention * .95)), NOW()) > 1 > AND ((VolStatus='Used') OR (VolStatus='Full'))) > OR (VolStatus='Disabled') > OR (VolStatus='Error')) > ORDER BY VolumeName ASC, Slot ASC; > > # 19 > :List Volumes Bacula thinks are eligible for the changer > SELECT VolumeName,VolStatus,Storage.Name AS Location, > VolBytes/(1024*1024*1024) AS GB,LastWritten, > FROM_UNIXTIME(UNIX_TIMESTAMP(Media.LastWritten) + Media.VolRetention) AS Expiry > FROM Media,Pool,Storage > WHERE Media.PoolId=Pool.PoolId > # AND Media.StorageId=Storage.StorageId > AND InChanger=0 > AND Storage.Name='MSL6000-changer' > AND ((VolStatus='Purged') OR (VolStatus='Append') OR > (VolStatus='Recycle') > OR DATEDIFF(FROM_UNIXTIME(UNIX_TIMESTAMP(Media.LastWritten) > + (Media.VolRetention * .95)), NOW()) <= 1) > ORDER BY VolumeName ASC, Pool.Name ASC, VolMounts ASC > > > (*) The selection is 95% of the retention period, rather than Retention > period - 7 days I experimented a bit, because I'm running MySQL in a version without DATEDIFF, and came up with something more complicated, due to the time arithmetic involved. Here is my starting point, in case anyone else runs older MySQL catalogs: select VolumeName, LastWritten from Media where VolStatus in ('Append','Used','Full') and unix_timestamp(LastWritten)+VolRetention<unix_timestamp()+(60*60*24*7); 60*60*24*7 should be one week in seconds, by the way. Arno > > ------------------------------------------------------------------------- > This SF.net email is sponsored by DB2 Express > Download DB2 Express C - the FREE version of DB2 express and take > control of your XML. No limits. Just data. Click to get it now. > http://sourceforge.net/powerbar/db2/ > _______________________________________________ > Bacula-users mailing list > Bac...@li... > https://lists.sourceforge.net/lists/listinfo/bacula-users -- Arno Lehmann IT-Service Lehmann www.its-lehmann.de |