On 10/2/24 23:56, Alan Mackenzie wrote:
Hello, gentoo.

I was wanting to do a pretty full build of my Emacs working repository.
This involved first purging al *.elc files.  The way to do this is

     $ find . -name '*.elc' | xargs rm

.  But for some reason, I typed

     $ find . '*.elc' | xargs rm

.  I even carefully checked it before pressing RET.  However, press it I
did, instantly deleting all files in my working directory.  OUTCH!

So, I fell back on my backup from last Sunday.  After about 1½ hours
trial and error, I had my source files as of last Sunday back again,
though git could have been more helpful than it actually is.

Thankfully, I had Emacs open, with all the files modified since Sunday
in buffers.  So, I laboriously worked through Emacs's buffer list,
saving those ones I'd since changed.

I lost all my timestamps on the files, and lost all my Emacs backup
files (things ending in ~ which Emacs constantly makes).  But my
software builds and runs.

It could have been a lot worse.  Boys and girls, don't use

     $ find .... | xargs rm

unless you really know what you're doing.  And even then, it's probably
better not to.  ;-(

It occurred to me fairly quickly after that press of RET that I could
have done well with a COW snapshot facility, something which has been
discussed at length on another recent thread.  I even have LVM on my
machine for its RAID capabilities.  But I've never bothered before.  I
mean "I'm too careful", amn't I?  ;-(  At least I do a weekly backup,
though.

So, in the end I managed to recover fairly well, thankfully.

No, you don't need a snapshot system - you need a proper backup system that stores the proper metadata.  When I was experimenting with snapshots (btrfs and moosefs) at different times I lost everything a few times with filesystem corruption which meant I lost the snapshots too.

Snapshots are NOT safe backups - treat them as a convenient copy ...

BillK



Reply via email to