Apologies JonMikeIV, I jumped the gun because I just found Duplicati and it does almost the exact same thing as StableBit CloudDrive in many ways, which is too unreliable for regular use. I was excited then disappointed in the space of a half hour! Also, uncharacteristic of me not to include all the info you mentioned.
So:
Duplicati 2.0.2.19_canary_2018-02-12 on Windows 10.
Internet connection is mostly reliable and stable though very occasionally my Netgear R7000 inexplicably slows down. It hasn’t happened recently.
I did not yet try the WebDAV suggestion.
There are no details or errors in the Remote log beyond PUT operations
I’ve discovered a bunch more log messages in the Duplicati Server log “tab”:
Feb 27, 2018 12:33 AM: Failed while executing "Backup" with id: 2
Feb 26, 2018 10:19 PM: Request for http://localhost:8200/api/v1/remoteoperation/create gave error
Feb 26, 2018 10:19 PM: Reporting error gave error
Feb 26, 2018 10:19 PM: Failed while executing "Backup" with id: 2
Feb 26, 2018 10:10 PM: Failed while executing "Backup" with id: 1
Feb 26, 2018 10:10 PM: Error in worker
Feb 26, 2018 9:54 PM: Request for http://localhost:8200/api/v1/remoteoperation/create gave error
Feb 26, 2018 9:54 PM: Reporting error gave error
Feb 26, 2018 9:52 PM: Request for http://localhost:8200/api/v1/remoteoperation/create gave error
Feb 26, 2018 9:52 PM: Reporting error gave error
Feb 26, 2018 9:52 PM: Request for http://localhost:8200/api/v1/remoteoperation/create gave error
Feb 26, 2018 9:52 PM: Reporting error gave error
Here is the detail for the “Error in worker” entry:
System.Threading.ThreadAbortException: Thread was being aborted.
at Duplicati.Server.Runner.Run(IRunnerData data, Boolean fromQueue)
at Duplicati.Library.Utility.WorkerThread`1.Runner()
That’s new. Here is the detail for the “Failed while executing “Backup” with id: 1” entry:
System.Threading.ThreadAbortException: Thread was being aborted.
at Duplicati.Library.Main.Operation.BackupHandler.HandleFilesystemEntry(ISnapshotService snapshot, BackendManager backend, String path, FileAttributes attributes)
at Duplicati.Library.Main.Operation.BackupHandler.RunMainOperation(ISnapshotService snapshot, BackendManager backend)
at Duplicati.Library.Main.Operation.BackupHandler.Run(String[] sources, IFilter filter)
at Duplicati.Library.Main.Controller.<>c__DisplayClass17_0.<Backup>b__0(BackupResults result)
at Duplicati.Library.Main.Controller.RunAction[T](T result, String[]& paths, IFilter& filter, Action`1 method)
at Duplicati.Library.Main.Controller.Backup(String[] inputsources, IFilter filter)
at Duplicati.Server.Runner.Run(IRunnerData data, Boolean fromQueue)
Here is the detail for the “Failed while executing “Backup” with id: 2” entry:
Duplicati.Library.Interface.FolderMissingException: The requested folder does not exist
at Duplicati.Library.Main.BackendManager.List()
at Duplicati.Library.Main.Operation.FilelistProcessor.RemoteListAnalysis(BackendManager backend, Options options, LocalDatabase database, IBackendWriter log, String protectedfile)
at Duplicati.Library.Main.Operation.FilelistProcessor.VerifyRemoteList(BackendManager backend, Options options, LocalDatabase database, IBackendWriter log, String protectedfile)
at Duplicati.Library.Main.Operation.BackupHandler.PreBackupVerify(BackendManager backend, String protectedfile)
at Duplicati.Library.Main.Operation.BackupHandler.Run(String[] sources, IFilter filter)
at Duplicati.Library.Main.Controller.<>c__DisplayClass17_0.<Backup>b__0(BackupResults result)
at Duplicati.Library.Main.Controller.RunAction[T](T result, String[]& paths, IFilter& filter, Action`1 method)
at Duplicati.Library.Main.Controller.Backup(String[] inputsources, IFilter filter)
at Duplicati.Server.Runner.Run(IRunnerData data, Boolean fromQueue)
and finally, the detail for the last entry of “create gave error”:
System.Exception: 400 - item_name_invalid: Item name invalid
at Duplicati.Library.Backend.Box.BoxBackend.BoxHelper.ParseException(Exception ex)
at Duplicati.Library.JSONWebHelper.GetResponse(AsyncHttpRequest req, Object requestdata)
at Duplicati.Library.JSONWebHelper.ReadJSONResponse[T](AsyncHttpRequest req, Object requestdata)
at Duplicati.Library.Backend.Box.BoxBackend.GetCurrentFolder(Boolean create)
at Duplicati.Server.WebServer.RESTMethods.RemoteOperation.CreateFolder(String uri, RequestInfo info)
at Duplicati.Server.WebServer.RESTHandler.DoProcess(RequestInfo info, String method, String module, String key)
I will get back to you on webdav if I can make it work.
Regards,
Marc