Next step, backup to the cloud

I have successfully backed up my entire Linux machine (by filesystems) to my locally attached USB drive. Also, tested restoring, checking, listing, etc. All works great.

Now I am trying to do the exact same thing with my cloud storage at Dropbox. I have previously copied large groups of files (but not a backup filesystem like restic) using rclone alone, so I know what to expect out of rclone. It will also take a long time since my connection is not that fast. I am expecting several days with each filesystem.

So, I tested with small filesystems first, and all seemed to work as expected. However, my first large filesystem (about 34 GB) is having connection problems it appears. I get messages like those shown below. After the failure, I have simply rerun the backup script, and restic appears to check all the way up to the failure point and then continues. Is this what is expected ? Should I expect a clean snapshot once it completes ? It is about 40% done now after two failures on two separate overnight attempts. Both failures were similar pattern on the error messages. Anything else I can do to prevent the failures ? [I expect the first ERROR message about directory not found goes away once the first snapshot is successful.] The remaining ERROR messages, I am not so sure about, hence, this help request. Thanks.

repository b26edbd4 opened successfully, password is correct
rclone: 2020/10/18 08:41:25 ERROR : snapshots: error listing: directory not found
rclone: 2020/10/19 01:13:19 ERROR : data/74/740f34c6d378d70d27e4d557b43a6599b89e053a53f209b101534db138d4d6dd: Post request put error: upload failed: too_many_requests/.
rclone: 2020/10/19 01:13:19 ERROR : data/74/740f34c6d378d70d27e4d557b43a6599b89e053a53f209b101534db138d4d6dd: Post request rcat error: upload failed: too_many_requests/.
rclone: 2020/10/19 01:14:06 ERROR : data/3c/3cd5d643e3e0d03257520d0396a2fa81084352eedfd883498b733d70a9cbd612: Post request put error: upload failed: too_many_requests/
rclone: 2020/10/19 01:14:06 ERROR : data/3c/3cd5d643e3e0d03257520d0396a2fa81084352eedfd883498b733d70a9cbd612: Post request rcat error: upload failed: too_many_requests/
rclone: 2020/10/19 01:14:31 ERROR : data/c3/c3549e0890131d604ea03e651b54917520c35139b8d0e79c7b16b9be65a5f69d: Post request put error: upload failed: too_many_requests/…
rclone: 2020/10/19 01:14:31 ERROR : data/c3/c3549e0890131d604ea03e651b54917520c35139b8d0e79c7b16b9be65a5f69d: Post request rcat error: upload failed: too_many_requests/…
rclone: 2020/10/19 01:14:44 ERROR : data/86/8692e20af12c4f4e27842aa6048935c86cbbb9321823e928a33954d549787020: Post request put error: upload failed: too_many_requests/.
rclone: 2020/10/19 01:14:44 ERROR : data/86/8692e20af12c4f4e27842aa6048935c86cbbb9321823e928a33954d549787020: Post request rcat error: upload failed: too_many_requests/.
rclone: 2020/10/19 01:14:44 ERROR : data/7f/7f79439d8db6d39e590e617333edbc0ca30aac2a29641123b62b274bc7671c9c: Post request put error: upload failed: too_many_requests/
rclone: 2020/10/19 01:14:44 ERROR : data/7f/7f79439d8db6d39e590e617333edbc0ca30aac2a29641123b62b274bc7671c9c: Post request rcat error: upload failed: too_many_requests/
rclone: 2020/10/19 01:19:49 ERROR : data/0f/0f7d965bb81dee6707e1b31a6dfea1ad6d6403a4c400513ed1d926a07c9366b9: Post request put error: upload failed: Post https://content.dropboxapi.com/2/files/upload: read tcp [2600:1702:4850:45b0:ec4:7aff:fe33:725]:54312->[2620:100:601f:14::a27d:90e]:443: i/o timeout6/COMSOL56_dvd.iso
rclone: 2020/10/19 01:23:19 ERROR : data/0f/0f7d965bb81dee6707e1b31a6dfea1ad6d6403a4c400513ed1d926a07c9366b9: Post request rcat error: upload failed: Post https://content.dropboxapi.com/2/files/upload: read tcp [2600:1702:4850:45b0:ec4:7aff:fe33:725]:54312->[2620:100:601f:14::a27d:90e]:443: i/o timeout/COMSOL56_dvd.iso
rclone: 2020/10/19 01:23:26 ERROR : data/01/019cdb4a30e3ab13f49dba7c41e0662680e815478a23267891044c63be7876f1: Post request put error: upload failed: Post https://content.dropboxapi.com/2/files/upload: stream error: stream ID 3927; CANCEL
rclone: 2020/10/19 01:23:26 ERROR : data/01/019cdb4a30e3ab13f49dba7c41e0662680e815478a23267891044c63be7876f1: Post request rcat error: upload failed: Post https://content.dropboxapi.com/2/files/upload: stream error: stream ID 3927; CANCEL
rclone: 2020/10/19 01:23:29 ERROR : data/25/257af89535d30034e864f4b73ae72ec839c718ba24a52f7ca135c67e0620a623: Post request put error: upload failed: Post https://content.dropboxapi.com/2/files/upload: stream error: stream ID 3929; CANCEL
rclone: 2020/10/19 01:23:29 ERROR : data/25/257af89535d30034e864f4b73ae72ec839c718ba24a52f7ca135c67e0620a623: Post request rcat error: upload failed: Post https://content.dropboxapi.com/2/files/upload: stream error: stream ID 3929; CANCEL
Fatal: unable to save snapshot: server response unexpected: 500 Internal Server Error (500)

Are you using the latest restic version (0.10.0)? If not, please do :+1:

You are right that restic will keep trying from the (upload wise) point where it left off. So if you can live with the error messages for now, I’d say continue trying until you get the first snapshot.

But it strikes me as unexpected that you get a message saying there’s no snapshots directory - there should be one (it’s created as part of restic init). Also, using a storage that complains about the number of requests you make is something I personally wouldn’t want to live with, but that’s of course up to you.

When the first snapshot is complete, you can run restic check or perhaps better restic check --read-data if you have the opportunity to do so - this will make sure that your repository is intact and that it contains all the data you backed up.

Yes, of course, I am using the latest version of restic (0.10.0).

The initial error message is apparently normal until the first snapshot is completed for the rclone method of cloud backup. At least this is the norm from the experiences I have found on this forum.

I have decided that this method will simply not be acceptable here. I have been trying now for the 4th day, and repeat again for a failed overnight run, and only uploaded about 22 GB of this first 34 GB repo; and this is my smallest repo. This just won’t do !

However, since restic works so well to my local drive, I am not ready to give up on restic. I received help from outside this forum that one solution is to sync the local USB drive restic archive to the cloud using rclone (i.e., don’t use restic to the cloud to backup). Then I should be able to restore from the cloud using restic as normal (use restic to the cloud for restore only). Does this seem like an option that will work ?

Discovered copy command. Maybe that is what I should be using instead of backup to get this done without error. Report back later.

At first I thought this “copy” option was not going to work either because I got a couple of overnight failures before I discovered what the problem was. Because of the success in using restic backup to my external USB drive, I am performing daily backups (effectively incremental backups) to the USB drive nightly. However, since the initial copy command to the cloud takes so long, I had a conflict with the USB backup at the same time. In other words, you cannot do a copy from the USB archive to the cloud at the same time you are doing an incremental backup to the USB drive from your main machine being backed up. So, I need to just set up my crontabs to not have this conflict and/or add some logic to my restic scripts to check to make sure the USB filesystem I am copying is not mounted before I do the copy of backup to begin with. I believe this copy route will ultimately work for me. I will report back later.

What about rsyncing the USB backup to Dropbox? You can just rsync the whole restic repo folder. Also, rsync doesn’t care too much about data changing while it’s working.

The only way I know of to get rsync involved is to rsync from source to the Dropbox folder, and then let Dropbox sync from machine to the Dropbox cloud folder. Another, even less favorable way would be to mount the Dropbox cloud folder on the linux box using fuse driver. This is extremely slow way. To my knowledge, Dropbox does not support a direct rsync from a linux machine out on the web.

Today, I can verify that the restic copy command to Dropbox will complete without conflicts from other restic jobs using the same local drive at the same time. It should have completed my first filesystem by tomorrow, and I can then test the restore from the copied dropbox file and make sure it works as expected. I will add to this thread when I get there.

Hm yes that probably doesn’t make much sense. If you really need to stick to Dropbox, maybe this is for you?

Thanks about the couchdrop solution nicnab. Looks like a very good thing to have. Looks like it involves additional costs however, even more than I am paying for Dropbox itself. It seems very powerful, and would be great to have.

I now have the restic-dropbox via rclone option working fine, and has tested out fine. Bottom line for me right now is:

  1. use restic backup to backup from linux server to attached local usb drive. This is my primary backup.
  2. use restic copy to copy snapshots from attached local usb drive to dropbox cloud storage. This is my secondary remote backup.
  3. use restic check, prune, restore to verify all archives are functioning OK.

Thanks all for the help, and hope this record will help others with similar issues.

1 Like