Looking for backup strategy and linux-friendly backup software

I’m looking for a backup strategy and software in order to backup both my files and system files.

What I need:

1- Specific cloud platform that offers cloud storage for backups AND offers a multi-OS client. (E.g. I was using Google drive but they don’t offer a Linux Client)

2- A multi-OS backup client that allows file extension and folder exclusion (Mainly to exclude “Node_Modules”)

3- A multi-OS encryption software that encrypts my data before it sends them to the cloud (I hear cryptomator does this?)

Looking forward to your suggestions.

Re. 2 & 3: I use restic. It is available from the standard Tumbleweed repos and meets all of your requirements; it meets the OS requirements of 1.

https://restic.net/

Re. 1: I have used Amazon S3 and Glacier, but have switched over to Wasabi. The first terabyte is at a fixed price, and after that at a proportional cost ($.0059 per GB/month ($5.99 per TB/month) US$); there are no upload, download or access costs. It is an S3 compatible service and will work with most clients that support S3. They have data centers in the US and Europe.

https://wasabi.com/

Thanks for the suggestions. Does restic come with a GUI ?

If you search through the restic forum you will find posts on people who have created gui interfaces, but I haven’t used any of them. I am a linux only user so I use bash. It’s not difficult to configure. Like here, the restic community is extremely helpful. The developers are also active in the forum.

Also, you can use rclone as a backend which opens up many cloud services.

I gave rclone a try. Its decent and works for now. Man I wish Linux apps start working on GUIs more

An old timer in my local Linux User Group is a big proponent of going “old school” when it comes to backups…

  • Using standard *NIX commands which haven’t ever changed likely means they won’t change in the future so if they worked 20 years ago and still do today, they probably will 20 years from now.
  • No worry about backup application versions. With some backup software, you need to install the same version software to restore a backup or the backup may not be recognized.
  • You have full control over what happens. The individual commands are usually simple to understand so even a beginner can read a script and understand each step.

Numerous scripts are posted publicly that implement different features. And, they probably all work.

https://www.google.com/search?q=github+tar+backup+scripts

TSU

I think Nextcloud can do the job fine.

My recommendation is:
https://syncthing.net/
It has Android and IOS apps as well, all source code available on Github of course :slight_smile:

I’m only a user non expert bu I use luckybackup, it works quite well if used as root, as user not so good

Hi
At the end of the day, backup can be done any number of ways, the real question is what is the restore strategy you are after and also data integrity for the backup.

Personally, I have zero interest in the operating system, I only look at configs and backup of the disk partition information (sgdisk and efibootmgr [info only]), then can reload the partition information to recreate the disk, one operation…

The second question is when/how do you want to access the saved data, if historical, maybe better left on the backup mediums, note plural, keep something offsite :wink:

Then, test, test, test… put in a fresh drive and go through your restore process… how long does it take, did it work, if not refine and test again.

I use small system disks, it forces me to clean up and archive off data I don’t really need to backup disks :wink:

All I use these days is tar and cp so can be done without any gui if needed, some things are also scripted as well.

I have 2 replicas of the system:

**erlangen:~ #** btrfs filesystem show  
Label: 'TW-20200515'  uuid: e7ad401f-4f60-42ff-a07e-f54372bc1dbc 
        Total devices 1 FS bytes used 20.69GiB 
        devid    1 size 51.69GiB used 30.05GiB path /dev/nvme0n1p2 

Label: 'Tumbleweed'  uuid: 204f7d0f-979a-41e1-a483-a597d0357e0b 
        Total devices 1 FS bytes used 25.21GiB 
        devid    2 size 60.00GiB used 29.03GiB path /dev/sdc5 

Label: 'Leap-15.2'  uuid: 69774d55-8da2-4599-9c27-766b1012771d 
        Total devices 1 FS bytes used 15.99GiB 
        devid    1 size 28.13GiB used 17.30GiB path /dev/sdc8 

**erlangen:~ #**

Currently ‘TW-20200515’ is active. I cloned it from ‘Tumbleweed’ some time ago using rsync and reinstalling grub. That procedure worked without annoyances. Cloning the system and running the clone without encountering any problems is the ultimate verification of your backup.

I did full backups of /home to external disks once a few weeks for several years. With the HDDs decommissioning I added a daily rsync to HDD:

**erlangen:~ #** systemctl cat backup-home.service  
**# /etc/systemd/system/backup-home.service**
[Unit] 
Description=Backup /home 
Requires=HDD.mount 
After=HDD.mount 
After=local-fs.target 

[Service] 
Type=oneshot 
ExecStart=/usr/bin/rsync -a --exclude=.cache /home/ /HDD/backup/home/ 
**erlangen:~ #** systemctl cat backup-home.timer 
**# /etc/systemd/system/backup-home.timer**
[Unit] 
Description=Backup of /home 
After=local-fs.target 

[Timer] 
OnCalendar=daily 
AccuracySec=1m 
Persistent=true 

[Install] 
WantedBy=timers.target 
**erlangen:~ #**

Execution is easily monitored:

**erlangen:~ #** journalctl -b -u backup-* --quiet              
Nov 28 22:08:50 erlangen systemd[1]: Started Backup of /home. 
Nov 28 22:08:50 erlangen systemd[1]: Started Backup of RPM database. 
Nov 28 22:08:50 erlangen systemd[1]: Started Backup of /etc/sysconfig. 
Nov 29 06:13:31 erlangen systemd[1]: Starting Backup RPM database... 
Nov 29 06:13:41 erlangen systemd[1]: Starting Backup /home... 
Nov 29 06:13:46 erlangen systemd[1]: backup-rpmdb.service: Succeeded. 
Nov 29 06:13:46 erlangen systemd[1]: Finished Backup RPM database. 
Nov 29 06:15:27 erlangen systemd[1]: backup-home.service: Succeeded. 
Nov 29 06:15:27 erlangen systemd[1]: Finished Backup /home. 
Nov 29 06:29:53 erlangen systemd[1]: Starting Backup /etc/sysconfig directory... 
Nov 29 06:29:53 erlangen systemd[1]: backup-sysconfig.service: Succeeded. 
Nov 29 06:29:53 erlangen systemd[1]: Finished Backup /etc/sysconfig directory. 
**erlangen:~ #**

Verification of the backup to external disk is straight forward:

  • Backup one host to external disk
  • Synchronize other host by running the reverse command.
  • Build the photo albums on this host
  • No artifacts being rebuilt shows backup and restore do work.

BTW: This procedure revealed some severe flaw in jalbum creating the web albums (which got fixed readily).

Not really using a backup software here but just relying on regulars commands as dd(1), rsync(1) and btrfsprogs.

  1. Cloning to a compressed image offsite with dd(1) and bzip2(1) through ssh(1) of the entire disk once a week (while booted on a live medium)
  2. Daily snapshots of / with btrfsprogs’s send/receive through ssh(1) on a local nas
  3. Daily incremental backups of /home with rsync(1) through ssh(1) on a local nas

Restoring is stupidly easy with this set of tools :wink: