That's very helpful---thanks much!  I imagine I'll go ahead
and just make dirvish-expire do the right thing here,
though; I can't see any reason one would ever want it to
expire the most recent backup.

        Bart

In message <[EMAIL PROTECTED]> you wrote:
> On Thu, 2008-01-03 at 14:19 -0800, Barton C Massey wrote:
> 
> > It looks like dirvish-expire has no qualms about removing
> > the most recent image in a vault.  This seems to me to be a
> > bad idea.  
>         
> <snip>
>         
> > Any chance someone could fix this so that dirvish-expire
> > will leave the most recent bits alone, at least as an
> > option?
> > 
> >     Bart Massey
>         
> At the risk of getting flamed for cutting & pasting from my own
> post from last summer,  does this help ? :
>         
> On Sat, 2007-08-25 at 16:44 -0500, Tony wrote:
> > By design, dirvish-expire will not delete your most recent backup
> image
> > if it is the only image left in the vault, regardless of whether the
> > image is ready to expire or not.
> > 
> > However,  if there are older images in the vault (perhaps set to never
> > expire) and your most recent backup is past its expiry date then
> > dirvish-expire will delete it !  This can leave you without a recent
> > backup.
> > 
> > Normally this might not happen but I have a system that I only backup
> > once a week - retaining the backups for a month.  Recently I ran into
> an
> > issue where I was travelling and the system was turned off.
> Eventually,
> > dirvish-expire started deleting my recent backups and I was left with
> > only a really old image.
> > 
> > I suppose it should be possible to modify dirvish-expire to not delete
> > the most current backup regardless of its expiry date.  However, I
> took
> > another route, as I use Daniel Petcher's technique of having a post
> > execution script to maintain symbolic links to the two more recent
> > backups (search the wiki for details).   I thus modified
> dirvish-expire
> > to look for those links and if found,  to ignore the expiry dates for
> > those archives.
> > 
> > Here's the diff file of what I did to dirvish-expire.pl :
> > 
> > 161c161,180
> > <     $$Options{quiet} or printf "%-15s %-15s %-16.16s  %s\n",
> > ---
> > > 
> > > ## 20070825 - don't allow backups tagged current or recent to be
> > expired
> > >     
> > >     $recent = readlink( substr($$expire{path},0,-8)."recent") ;
> > >     $current = readlink( substr($$expire{path},0,-8)."current") ;
> > >     if (($recent eq $$expire{path}."/tree") || ($current eq
> > $$expire{path}."/tree"))
> > >     {
> > >             $$Options{quiet} or printf "%-15s %-15s %-16.16s  %s <-
> ignored
> > (recent or current)\n",
> > >                     $$expire{vault} . ':' .  $$expire{branch},
> > >                     $$expire{image},
> > >                     $created,
> > >                     $expired;
> > > 
> > >             next;
> > >     }
> > >     
> > > ## 20070825 - don't allow backups tagged current or recent to be
> > expired
> > > 
> > > 
> > >     $$Options{quiet} or printf "%-15s %-15s %-16.16s  %s \n",
> > 
> > 
> > I realize this solves an obscure issue but it might help somebody. 
> > 
> > Note : the use of substr to truncate the vault address is a bit of a
> > hack (it assumes the backups are always stored in 8 digit yyyymmdd
> > subdirectories).  I have a version that uses 
> >       $path =~ s/\/[A-Za-z0-9]+$/\/tree/ ;
> > to do the same thing more generically but the resulting code is
> actually
> > a little harder to read IMHO.
> > 
> > Tony
> >  
>         
>         
> 
> _______________________________________________
> Dirvish mailing list
> [email protected]
> http://www.dirvish.org/mailman/listinfo/dirvish
_______________________________________________
Dirvish mailing list
[email protected]
http://www.dirvish.org/mailman/listinfo/dirvish

Reply via email to