search

Backup to USB Drive (External Storage)

If you have a disk drive connected to the GoFlex Home USB port you can backup the GoFlex Home main SATA drive to it. But if you do that from a remote PC using File Explorer it is very slow especially over a wireless network, because the data is travelling from the GoFlex Home to your PC and back again.

Is there a way to transfer files directly from the SATA drive to the attached USB drive?


USB Backup
Yes there is. In fact Axentra who built the firmware even made a utility to do just that.
But apparently Seagate doesn't want their customers have it.

So you have do it for yourself.

I have a Seagate expansion drive connected to my Goflex Home USB port and use a simple crontab task to back up my Public folder to the External Storage using cp commands.
Every 2:30am daily it updates my External Storage/Seagate folder with the contents of my GFH Public folder. The -u switch makes sure that it is only updating any changes not recopying the whole Public folder. I don't even need to turn on my PC for the backup to happen, the GoFlex Home does it all itself.

You can also use the cp command to backup manually.

First connect with SSH and become root with sudo -s

Example cp instruction:

cp -u -r --preserve=all /home/username/"GoFlex Home Public"/* /home/username/"External Storage"/SEAGATE/
(replace username with an actual user name on your GoFlex Home and the actual drive name as it shows in file explorer/finder)

I suggest you try out the cp command line first in SSH with the -v (verbose) switch to make sure you have it right - don't miss the quote marks around "GoFlex Home Public" and "External Storage" and the drive name if it contains spaces. 

Note that different external drives might show up differently, a WD drive might show as "External Storage"/WD/ .  Look in Windows file explorer (or Mac Finder) to see how the drive appears under \\GOFLEX_HOME\External Storage\ and that's the name you should use in the cp command.
For example;

cp -u -r --preserve=all /home/username/"GoFlex Home Public"/* /home/username/"External Storage/Seagate Backup Plus Drive"

Update September 2020: Thanks to PB for pointing out that you can also add a sub directory to the path instead of the root of the USB drive. 

And for locales other than English "External Storage" is probably going to be different.

examples from other locales

          DK = Eksternt lager
          ES = Almacenamiento externo
          FR = Stockage externe
          IT = Archiviazione esterna
          NL = Externe Opslag


To schedule the backup 
When cp works for you edit /etc/crontab and add your custom crontab line at the end of the existing crontab. You should probably set your task to run at a different time to the other jobs already in the list (4:02, 4:22 and 4:42am)

Edit with vi, the inbuilt text editor : vi /etc/crontab

vi opens command mode so use the arrow keys to position the cursor at the end of the text file and then press  i  to start insert mode then add a line (for example)
30 02 * * * username cp -u -r --preserve=all /home/username/"GoFlex Home Public"/* /home/username/"External Storage"/SEAGATE/

Esc > Shift ZZ (note capitals) to save.

The crontab task survives rebooting the GFH.


Additional note: I've had no trouble with cp, but other users reported that when cp tried to copy a corrupted file it filled up the whole drive so they suggest using rsync instead.

Seagate forum user fMoose created a shell script to do this backup function for all users on the system. I haven't used his script and stuck with my simple cp crontab, but it is available for download on an as-is where-is basis gfh-backup-to-usb.sh

If you create a scripts sub-folder in the Public folder then you can create a crontab to run fMoose's script

1 0 * * * root /bin/bash /home/0common/scripts/gfh-backup-to-usb.sh