I recently decided to replace the SD card in my Raspberry Pi and reinstall the system. Without any special backups in place, I turned to rsync to duplicate /var/lib/docker
with all my containers, including Nextcloud.
Step #1: I mounted an external hard drive to /mnt/temp
.
Step #2: I used rsync to copy the data to /mnt/tmp
. See the difference?
Step #3: I reformatted the SD card.
Step #4: I realized my mistake.
Moral: no one is immune to their own stupidity 😂
Sorry to hear, I feel you:
I wanted to delete all .m3u-files in my music collection when I learned:
find ./ -name "*.m3u" -delete
-> this would have been the right way, all .m3u in the current folder would have been deleted.find ./ -delete -name "*.m3u
" -> WRONG, this just deletes the current folder and everything in it.Who would have known, that the position of -delete actually matters.
I did this sort of mistakes too, luckily BTRFS snapshots are always here to save the day !
I can recommend fd to everyone frustrated with find, it has a much more intuitive interface imo, and it’s also significantly faster.
fd -tf -e m3u -x rm
loads all cores and nothing works fasterThe first one would have deleted nothing as it needs to match the whole name. I recommend running find with an explicit -print before replacing it in place with -delete or -exec. It’s good to remember that find has a complex order dependent language with -or and -and, but not maybe the best idea to try to use those features.
Lemmy interpreted the
*
as something cursive. I try to edit it like I mean it.I use GNU find every day and still have to google about the details. Only learnt about - delete the other day, good to know the position matters.