On Wed, 2013-03-27 at 23:58 -0700, Rick Walker wrote:
I'm not a fan of trash directories. They give you a second chance, but you may end up not really deleting things you wanted to delete. What about a simple script something like this?
If you want something a bit more polished, you might check out "nrm", available at http://www.omnisterra.com/walker/linux/nrm.html
It's a C program written to have the same arguments, return codes and side effects as /bin/rm to the extent possible.
It moves files into the hidden sub-directory ".gone" instead of removing files. You can remove files with "-s" and you get sequenced backups - all files are saved with a time-stamp suffix for fine grained file restores. There is a program "urm" to unremove the file, but most users just do "ls .gone" to see what they've recently removed and then just "mv" it back to their working directory.
There is an associated cron job that runs every day to permanently remove all deleted files that are older than a configurable age. The default is 3 days so you can get things back on Monday that you nuked on Friday.
I prefer to run a daily cron job to back up my home directory, which also allows me to look back over previous versions. I happen to use rsnapshot for this, but plenty pf other solutions exist. At some point a pseudo-rm is going to fail, either because the implementer didn't handle some corner case correctly, or because you typed rm instead of nrm, or because a file was removed by a program without anyone typing anything, and the only solution is to have a backup. So if you're going to have a backup anyway, what's the point?
poc