Wack Playstation Sup! ๐Ÿ™Š ๐Ÿ‡ฎ๐Ÿ‡ธ ๐Ÿ is a user on mastodon.xyz. You can follow them or interact with them if you have an account anywhere in the fediverse. If you don't, you can sign up here.

Flying to Iceland tomorrow, for a meetup!

Preparation: the pre-travel backup shuffle.

Wack Playstation Sup! ๐Ÿ™Š ๐Ÿ‡ฎ๐Ÿ‡ธ ๐Ÿ @HerraBRE

Last time I travelled, I bought a 128GB USB 3.0 stick.

Sooo huuuuge! And yet so tiny. This thing is big enough that I can make multiple rsync snapshots of my full home directory. Encrypted, of course.

If my laptop gets lost or stolen, I buy a new one, install Linux, take this thing out of my pocket, cp -a . /home/bre and get back to work.

If I shop decisively enough, that's less than a day's hit to my productivity.

ยท Web ยท 0 ยท 9

@HerraBRE how often do you snapshot and with what tool/command?

@webmind Not as often as I should!

Media is USB storage, LUKS+EXT3/4.

Snapshots are made with rsync, in the mode where it compares the source with a previous snapshot, and the new snapshot ends up being mostly hard links to previously copied data.

Saves time and space, each snapshot is a complete browsable tree of files. This makes restoration of individual files is super easy, which I like.

The only downside is it breaks access times. If I cared I'd solve that with a read-only bind mound.

I commented my -based script and put it in a gist.

gist.github.com/BjarniRunar/bd

I feel dirty. That should be on my own website. I hope it's useful!

๐Ÿ’พ ๐Ÿ“€ ๐Ÿ’ฟ ๐Ÿค–

@webmind

@herrabre @webmind No, first it needs a really nice-looking logo! Or wait, that's for security issues...

@HerraBRE @webmind Cool! I really like people sharing their snippets, it's always a pleasure to read someone elses work.
I can really recommend using `shellcheck` for any shell-scripting.

Some style aspects:
- `--exclude-file` is a great rsync feature, I can only recommend it
- Using `set -eu` improves writing style a lot
- trap is your friend
- Are you using any `bash` specific code? If not => `sh`
- false | true; echo $?

@pl @HerraBRE @webmind Thanks, was already using set -e but adding -u (unset variables treated as an error) looks useful, too.

@HerraBRE @webmind โ€œOh, and keeping track of whether you're running out of space โ€ฆ is left as an exercise for the reader. โ€

My equivalent script ends:

df -h $DEST
umount $DEST

@HerraBRE @webmind Did you checkout rsnapshot? Does rsync hard-link based snapshotting for you.

@pl @webmind Thanks for the tips!

That shell script is the end point of multiple iterations, simplifying each time, to increase the odds I'll actually make backups, and that the backups will be useful and convenient.

Using a more complex tool is the opposite of what I want.

Different strokes for different folks, I say!

@hummingrain The Unix home directory, and the way all settings live inside it, is a seriously undervalued invention!

@HerraBRE @hummingrain applies more generally to the filesystem as db. Love systems like dokuwiki

@HerraBRE Hey, would you have any good recommendations for keeping the Home folder synced between two Linux boxes? I have a laptop and a desktop that I want to keep up with each other, but Home seems like it might be trickier than most to sync.

@hummingrain I haven't tried.

The scary thing about syncing two filesystems that both actively change, is deletion. Unfortunately deleted files don't carry timestamps - so I am unaware of a safe automated filesystem-only way to distinguish between a new local file and a file that was deleted remotely. To resolve such questions one needs a log of some sort.

For that reason I'd be tempted to use something like git. But a home directory feels like it might be a bit big for git? Maybe not?