Ask Your Question

Revision history [back]

click to hide/show revision 1
initial version

I don't know that I can answer all of your questions but I'm going to try and make a start which others can hopefully build on…

Backup can get a bit complicated. The best solution for you depends on your particular circumstances. People have written whole books on the subject, here's one that I found very useful: Backup & Recovery by W. Curtis Preston.

However, the most important thing to remember is that pretty much any kind of backup is better than no backup at all! So don't obsess over planning the perfect backup solution without getting round to actually doing something. Better to do something really quick & simple right away — then look to improve on it.

Here's what I would recommend as a starting point given my understanding of your situation.

  • Yes, use your external USB 3.0 drive for backup. While there is nothing wrong with having a backup on your internal drives as one of your layers of backup, you definitley would not want it to be your only backup. Your internal drives are always connected to your computer and so would be an example of On-line storage. In contrast your external USB drive could be an example of Off-line storage i.e. disconnected from your computer most of the time and only connected when you are performing backups. While less convienient, Off-line storage is less vunerable to things like accidental deletion & malware.
  • Create an off-site, off-line backup: Label your external USB drive something like "My_Backup_A" and buy a second extetnal drive and label it something like "My_Backup_B". Set these drives up the same and keep one of them at home and take the other off-site e.g. friends or parents house, a draw at work, etc. Swap them over regularly, so you always have a reasonably fresh backup off-site.
  • Encryption can be taken care of by creating one or more LUKS encrypted partitions on your external drives. You can do this easily with the gnome-disks graphical utility in Fedora.
  • In order to support the backup of windows machines you could set up your backup server as a iSCSI SAN target or SAMBA server. Each windows machine can then mount a partition or directory on your backup server and use it as the storage location for its own native windows Backup and Restore client. This method would work for Macs too, allowing them to use their native "Time Machine" backup software.
  • If you want to be space efficient then it sounds like you want to use a backup utility which is capable of file-based, incremental backups. Both amanda and deja-dup do this, as well as my personal favourite rdiff-backup.

    I haven't used amanda, but my understanding is that it is very mature and powerful — capable of backing up entire networks. It uses standard tools like tar underneath. It has a native windows client so it could handle your windows machines without needing to resort to the SAN/SAMBA method I mentioned above.

    I have used deja-dup. It is simple and easy to use, it uses duplicity underneath which means that it produces (optionally) encrypted tar files, which it can then sync from client to server. I would say that it is more integrated into GNOME than amanda.

    You can think of rdiff-backup as rsync + diffs to implement incremental backups. I like the fact that your lastest backup can be browsed as a normal filesystem instead of being bound up in tar files.

  • In contrast to the previous backup utilities Clonezilla is block-based and produces full backups only. In other words you can only create images (copies) of whole partitions or disks. Although these can be compressed so that they are typically smaller than the size of the original partition, they would not normally be as space efficient as a file-based, incremental backup. They are the perfect choice for cloning or restoring an entire machine though!
  • I don't know the best way to backup Android devices to your backup server. Presumably you would need to get one of the Android backup apps to use your server as its backend storage, but I don't have enough experience to suggest anything. I would be interested to hear others recommendations on this.

Depending on your needs and usage you might also want to look into:

  • Using btrfs snapshots to help you create consistent backups of your btrfs filesystems. LVM can be used to create snapshots too if you have any non-btrfs linux filesystems around.
  • Create some kind of automated on-line backup system, to save you from "fat fingers" and mistakes.
  • Create some kind of automated on-line off-site backup system to a remote machine you own or a cloud service. This is good for your regularly changing, relatively small files. This tends not to be too good for big files (e.g. ~1GB) unless you have a lot of bandwidth!

I don't know that I can answer all of your questions but I'm going to try and make a start which others can hopefully build on…

Backup can get a bit complicated. The best solution for you depends on your particular circumstances. People have written whole books on the subject, here's one that I found very useful: Backup & Recovery by W. Curtis Preston.

However, the most important thing to remember is that pretty much any kind of backup is better than no backup at all! So don't obsess over planning the perfect backup solution without getting round to actually doing something. Better to do something really quick & simple right away — then look to improve on it.

Here's what I would recommend as a starting point given my understanding of your situation.

  • Yes, use your external USB 3.0 drive for backup. While there is nothing wrong with having a backup on your internal drives as one of your layers of backup, you definitley would not want it to be your only backup. Your internal drives are always connected to your computer and so would be an example of On-line storage. In contrast your external USB drive could be an example of Off-line storage i.e. disconnected from your computer most of the time and only connected when you are performing backups. While less convienient, Off-line storage is less vunerable to things like accidental deletion & malware.
  • Create an off-site, off-line backup: Label your external USB drive something like "My_Backup_A" and buy a second extetnal drive and label it something like "My_Backup_B". Set these drives up the same and keep one of them at home and take the other off-site e.g. friends or parents house, a draw at work, etc. Swap them over regularly, so you always have a reasonably fresh backup off-site.
  • Encryption can be taken care of by creating one or more LUKS encrypted partitions on your external drives. You can do this easily with the gnome-disks graphical utility in Fedora.
  • In order to support the backup of windows machines you could set up your backup server as a iSCSI SAN target or SAMBA server. Each windows machine can then mount a partition or directory on your backup server and use it as the storage location for its own native windows Backup and Restore client. This method would work for Macs too, allowing them to use their native "Time Machine" backup software.
  • If you want to be space efficient then it sounds like you want to use a backup utility which is capable of file-based, incremental backups. Both amanda and deja-dup do this, as well as my personal favourite rdiff-backup.

    I haven't used amanda, but my understanding is that it is very mature and powerful — capable of backing up entire networks. It uses standard tools like tar underneath. It has a native windows client so it could handle your windows machines without needing to resort to the SAN/SAMBA method I mentioned above.

    I have used deja-dup. It is simple and easy to use, it uses duplicity underneath which means that it produces (optionally) encrypted tar files, which it can then sync from client to server. I would say that it is more integrated into GNOME than amanda.

    You can think of rdiff-backup as rsync + diffs to implement incremental backups. I like the fact that your lastest backup can be browsed as a normal filesystem instead of being bound up in tar files.

  • In contrast to the previous backup utilities Clonezilla is block-based and produces full backups only. In other words you can only create images (copies) of whole partitions or disks. Although these These images only include the used blocks and can be further compressed so that they are typically much smaller than the size of the original partition, partition. However, becuase they are full backup only, they would not normally be as space efficient as a file-based, incremental backup. They on a like-for-like basis. Their advantage is that they are fast to take and restore from so are the perfect choice for cloning or restoring an entire machine though!
  • I don't know the best way to backup Android devices to your backup server. Presumably you would need to get one of the Android backup apps to use your server as its backend storage, but I don't have enough experience to suggest anything. I would be interested to hear others recommendations on this.

Depending on your needs and usage you might also want to look into:

  • Using btrfs snapshots to help you create consistent backups of your btrfs filesystems. LVM can be used to create snapshots too if you have any non-btrfs linux filesystems around.
  • Create some kind of automated on-line backup system, to save you from "fat fingers" and mistakes.
  • Create some kind of automated on-line off-site backup system to a remote machine you own or a cloud service. This is good for your regularly changing, relatively small files. This tends not to be too good for big files (e.g. ~1GB) unless you have a lot of bandwidth!