4

So, I bought a Seagate Backup Plus Hub HDD of 6TB. I want to use it to backup my files on my internal HDDs, but I'm kinda unhappy with how some Backup Programs work... (read, the program probably works as it should, but not like i'd want it) fwbackups for exammple makes a whole directory tree before the actually backup (and so does Seagate Toolkit (for Windows)). It backups FolderA (/media/user1/DATA4/FolderA) into /media/ivan/Seagate Backup Plus Drive/Backup-OneTime-2018-05-05_23-19/media/Ivan/DATA4/FolderA Where I'd rather have it in the root of my disk (/media/ivan/Seagate Backup Plus Drive/FolderA), but I can't seem to find a setting to change that... Is there a way to make an exact copy (recursively) of a folder in the root of one disk (DATA4) to a folder with exact the same name in the root of another disk (Seagate Backup Plus) as a backup? And keep it synchronized with the source folder?

1 Answer 1

5

Most backup programs compress data to specialized backup archives. Special search tools are required to locate files withing backup archives and special commands must be used to retrieve backup files.

If you only want an exact copy of files consider the rsync command.

Borrowing from this answer: Bash script to clone Ubuntu to new partition for testing 18.04 LTS upgrade here is how to clone a full 16.04 installation:

rsync -haxAX --stats --delete --info=progress2 --info=name0 /* "$TargetMnt" \
      --exclude={/dev/*,/proc/*,/sys/*,/tmp/*,/run/*,/mnt/*,/media/*,/lost+found}

Some notable comments about parameters:

  • --stats gives information on files added, changed and deleted from the clone (called backup in your case).
  • --delete instructs rsync to delete files in the clone that no longer exist in the source directory.
  • info=progress2 gives a modern looking progress display whilst cloning directories.
  • --info=name0 prevents every single filename from being displayed as it is being copied. This gives less screen clutter but you may want to omit this parameter.
  • /* tells rsync where to start synchronizing files. In this example it's the root directory but you want to change it to /media/user1/DATA4/FolderA.
  • "$TargetMnt" tells rscync where to clone to. In your case change it to "/media/ivan/Seagate Backup Plus Drive/FolderA". The double quotes are important because your directory names contain spaces in them.
  • The second line starting with --exclude={/dev/* you don't need at all because these directories aren't in the list. Don't use this line and drop the line continuation character \ at the end of the first line.

As with all backup scenarios always test the backups to make sure all files are there and contain the appropriate information.

2
  • Thanks for the awesome help... I discovered that I better not add the folder name to "$TargetMnt" because I ended up with /media/user1/DATA4/FolderA/FolderA/ as directory tree. Something that's easy to fix & not big a deal but worth mentioning if other people use your answer.
    – zotteken
    May 8, 2018 at 16:14
  • And ... Say I have downloads in there & completed ones are moved to another folder (incomplete -> complete), I can use the --delete option to delete the files in the target (incomplete) folder as well because it will automatically be synced with (complete) folder... Cool...
    – zotteken
    May 8, 2018 at 16:22

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.