World Backup Day(worldbackupday.com) |
World Backup Day(worldbackupday.com) |
WBD: since 2011! https://hn.algolia.com/?q=worldbackupday
Some years ago I realized that I value the possibility to restore also for people that are not me higher than the nerd factor and security so I just settled with Backblaze as my main backup and Time Machine for local convenience. Carbon Copy Cloned to just clone my attached drives to my NAS if they are attached.
For me backups are not the place to fiddle around with obscure solutions that nobody in my family would be able to use.
- mention of the 3-2-1 backup rule
- include emails and other social accounts into the backup strategy
- validating and restoring backups is as important as creating them
Jesus Saves! (and takes daily snapshots which he uploads to a secure offsite location)
Using Time Machine weekly to an external SSD. Also a separate flat monthly archive to another SSD. And just in case that is not enough, rclone my documents and pictures library (everything) to S3 monthly too.
This is restored once a quarter into my spare Mac mini.
In the same breath, lost a lot of spinning rusts over the years, and been at the mercy of data recovery services. Multiple copies, both cold and hot ones backed by parity are important.
I've lost drives I'm restoring backups from multiple times too, as restoration operations tend to be intensive and extended. I also don't recommend the average external spinning rust in a caddy as they're usually not very well ventilated, so they can get very hot and suffer from diminished longevity. Not to mention that a lot of off-the-shelf external drives already in an enclosure are frequently B-grade, or refurbished drives. Yes, even from big manufacturers. Storage is fairly woeful.
It's what you'd like if your idea of simplicity is dragging and dropping one folder to another, but want to more closely see what files have changed before the copy.
$ apropos borg-mount
borg2-mount (1) - Mount archive or an entire repository as a FUSE filesystem
$ restic -r /srv/restic-repo mount /mnt/restic
enter password for repository:
Now serving /srv/restic-repo at /mnt/restic
Use another terminal or tool to browse the contents of this folder.
When finished, quit with Ctrl-c here or umount the mountpoint.
$ proxmox-backup-client mount <snapshot> <archive-name> <target> [OPTIONS]
Currently mostly using borg2 for occasional manual backups to external drives and proxmox-backup-client/server for backups to a central archive. All have been 'battle tested' as in 'used to restore broken systems'.What's hard about `restic -r /media/ehecatl42/t14g3-backup/t14g3-restic-repo restore latest --target /home/ehecatl42/Desktop/nvim-restore/ --include /home/ehecatl42/.config/nvim/`* and just `cp`ing your missing files from that.
* From my recent .bash_history
So that's like an assimilated Weyoun or what?
(and on the seventh day, the devops nerd didst look upon his backups, said "this is good", and enjoyed a trashy scifi book)
You could maybe default to latest and default to restoring to ".", but that carries some risks. This is only as complex as necessary.
I understand the command, I'm just questioning the example if they want to do some positive marketing for the tool. Something simple like the following gives the same information but is much more understandable than unnecessarily convoluted directory names.
restic -r /backups/restic restore latest --target /home/dewey --include /home/dewey/myfile.txtI commend his real example "* From my recent .bash_history".
If someone is intimidated by paths in the CLI, the tool isn't for them. Appropriate solutions and their value is relative. Better to be realistic and honest than push people to adopt something they may struggle with.
Besides, this is HN.
#!/bin/bash
hostname=$(hostname)
checksumFile=/tmp/checksum-file.txt
rsync -cavin --info=name2 --no-perms --no-owner --no-group /srv/data/photos/ user@remote:/media/data/rsnapshot/daily.0/srv/data/photos/ > $checksumFile
minimumSize=5000
actualSize=$(wc -l <"$checksumFile")
if [ $actualSize -ge $minimumSize ]; then
fileDiffs=$(cat $checksumFile | grep -e '<' -e '>' || echo 'all checksums match')
else
fileDiffs=$(echo $checksumFile is too small)
fi
echo $fileDiffs