Hi all, I’m really looking for some help. I need to create a reliable system of backing up and data storage. I’m not tech-savvy (will work on that when it’s a priority in my life, which it definitely can’t be right now) and I’m asking this community because it’s forward-thinking and aligns with my values. There are things I have right now, on paper and digitally, that I want to be able to retrieve at least a decade from now (and we’ll check in on how the situation changes and what’s worth keeping or printing out etc then). Most of the stuff bouncing about in my brain is the conventional advice:

  1. The age-old “at least three places”
  2. Don’t store what I don’t strictly need
  3. Accessible & simple: the less I have to fiddle, the more sustainable it is (kind of seems to conflict with 1)
  4. Privacy-first, don’t trust clouds, etc (kind of sems to conflict with 1, too!)

I’m not sure (a) if there are any other principles to keep in mind while designing a system that works for me or (b) how this might translate into practical advice about hardware or software solutions. If anything has or hasn’t worked for you personally, please share. My daily driver is a LineageOS tablet and it’s not clear to me how to best keep its data safe.

  • perestroika@slrpnk.net
    link
    fedilink
    English
    arrow-up
    1
    ·
    edit-2
    6 months ago

    My typical backup system:

    • a computer that needs backing up in on a network
    • the computer hosting backups is on that network
    • [optional] the backup host is either powered down, or has brought its network connection down (so it’s not visible and not hackable)
    • at a predetermined time, the backup host wakes (brings its network connection up)
    • it checks if the backup source is present, aborting if not
    • it logs in via SFTP (an FTP-like protocol built on top of SSH) with public key authentication and pulls the backups down from the source according to a script (SFTP can do a list of tasks basing on a command script)
    • after successful download (but not after a failure to download) it searches for too old backups and erases them ¹
    • finally the backup host powers down or leaves the network
    • optional final step: occasionally, a disk image of the backup host is taken, the memory card is put in a bottle, the cap is screwed on tight and the bottle is hidden under a stone :)

    Regarding data protection: ideally, both computers use disk encryption. Especially the backup host, since it’s unattended and could be taken by a burglar (or a cop), and holds the private key that can access the backup source.

    ¹ erasing old stuff is easy enough in Linux/Bash:

    for i in `seq 5 10`;
    do
         DATE=$(date --date "$i days ago" +%Y%m%d)
         echo "Deleting backups from $i days ago, that is [$DATE]."
         # do something
    done
    

    …generates a sequence of past dates ranging from 5…10 days in the past, attempts to delete something for each. Or alternatively, for those who like fancier, shorter and a bit more risky commands…

    find ${BACKUP_DIR}/backup*.tgz -mtime +10 -exec rm {} \;
    

    …finds files in directory $BACKUP_DIR named “backup*.tgz” and if modification time is older than 10 days, passes them as arguments to “rm”.