On 10/2/20 3:35 PM, Craig Barratt wrote:
> Snapshotting is a great idea but it's not built in, since the underlying 
> commands and approaches vary so much between different OSes and filesystems.

noted.

though, LVMs _are_ fairly widespread.

support's available on linux*, of course; and, netbsd & freebsd (though dunno 
the nitpicky-gotcha differences ...)
iirc, MacOS has (had?) CoreStorage ...
and M$'s lumbering towards "everything on linux subsystem" ... whatever that 
ends up looking like.


fwiw, every one of _many_ pcs 'in my neighborhood' -- local & remote, bare 
metal & containers -- are on LVs.

and, of course, not every one has live(ish) data ... but _many_ do.  DIY'ing it 
has always included snapshotting.
I'm tired of maintaining separate approaches; that's why I'm looking at 
BackupPC!

I'm not clear about what _specific_ variations in "underlying commands & 
approaches" you're referring to,
I do recognize that with zfs/btrfs/stratis/etc/etc, there's a whole other ball 
of wax.

> Several users have developed scripts that do snapshots, which are especially 
> beneficial on windoze given the prevalence of enforced file locking.  It 
> sounds like you have discovered some of those already.

yup.

> Generally the approach is to use $Conf{DumpPreShareCmd} to set up the 
> snapshot, and $Conf{DumpPostShareCmd} to clean up.

yep.  for any one share it's reasonably trivial.

I think one should be able to provide an iteration framework across 
backup-types, that wraps specifics provided in configs.


For a list of shares -- such as in my "something like" example^^ -- it gets 
more complicated.

rsnapshot's approach, specifying in config

        linux_lvm_cmd_lvcreate  /usr/sbin/lvcreate
        linux_lvm_cmd_lvremove  /usr/sbin/lvremove
        linux_lvm_cmd_mount     /usr/bin/mount
        linux_lvm_cmd_umount    /usr/bin/umount
        linux_lvm_snapshotsize  100M
        linux_lvm_snapshotname  snap_rsnapshot
        linux_lvm_vgpath        /dev
        linux_lvm_mountpath     /mnt/rsnaphsot/snap

then using form

        backup lvm://vg0/home/path2/ lvm-vg0/
                Backs up the LVM logical volume called home, of volume group 
vg0,
                to <snapshot_root>/<interval>.0/lvm-vg0/. Will create, mount, 
backup,
                unmount and remove an LVM snapshot for each lvm:// entry.

e.g.

        backup  lvm://dev/VG0/LV_DATA1  this.project/LV_DATA1

works quite flexibly/portably.

My 1st inclination is to try to take the 'old' approach, put all my needed 
snapshotting in an external script, and pass the "(current) $share" from 
BackupPC's exec shell to the external script ...

Still messy; hence the chat about some form of integration.

> One recent addition which should be helpful is $Conf{ClientShareName2Path} 
> which allows you to map the share name to the real path (in this case, the 
> snapshot path).  There is, however, an open issue that I haven't addressed 
> yet which is that it also is applied during restore, which doesn't seem like 
> the right thing to do.

I don't see that in the release docs; I assume it's in recent/master. (Will 
take a peek here in a bit ...)




_______________________________________________
BackupPC-users mailing list
BackupPC-users@lists.sourceforge.net
List:    https://lists.sourceforge.net/lists/listinfo/backuppc-users
Wiki:    https://github.com/backuppc/backuppc/wiki
Project: https://backuppc.github.io/backuppc/

Reply via email to