Thanks for the reply.
Yes there are files on the remote server.
Before you replied, I started it again, and it appeared to run to completion that time, with a few errors about locked files, and ones which I assume are transient files that had vanished between preparation and attempting to upload - mostly to do with my existing backups which are Crashplan (which is going away before long, hence my searching for a reliable alternative).
However, since then I’ve run it again (I’m trying to set up a schedule), and it failed again in the same way. And I also tried setting it up to a local USB disk instead of ssh, and that also gave the same error at the same point.
I’m also now seeing lots of errors like this:
Failed to process path: [pathname-redacted].png
System.NullReferenceException: Object reference not set to an instance of an object.
at Duplicati.Library.Main.Volumes.BlockVolumeWriter.AddBlock(String hash, Byte[] data, Int32 offset, Int32 size, CompressionHint hint)
at Duplicati.Library.Main.Operation.BackupHandler.AddBlockToOutput(BackendManager backend, String key, Byte[] data, Int32 offset, Int32 len, CompressionHint hint, Boolean isBlocklistData)
at Duplicati.Library.Main.Operation.BackupHandler.ProcessStream(Stream stream, CompressionHint hint, BackendManager backend, FileBackedStringList blocklisthashes, FileBackedStringList hashcollector, Boolean skipfilehash)
at Duplicati.Library.Main.Operation.BackupHandler.AddMetadataToOutput(BackendManager backend, IMetahash meta)
at Duplicati.Library.Main.Operation.BackupHandler.HandleFilesystemEntry(ISnapshotService snapshot, BackendManager backend, String path, FileAttributes attributes)
I tried running the backendtool you mentioned and got a long-ish report with lots of errors appended below.
As there are always locked files and transient files, every run ends in failure. It would be really helpful to distinguish between errors that can reasonably happen (they aren’t really errors, just changes in circumstance while it is backing up, which after all takes many hours), like those, and ones which are catastrophic. There’s so many different error messages everywhere, at the moment I can’t have any confidence as to whether it is working fully or not. I can’t see the wood for the trees! Here’s another one:
Failed to process metadata for "C:\Users\DefaultAppPool\", storing empty metadata
System.UnauthorizedAccessException: Attempted to perform an unauthorized operation.
at System.Security.AccessControl.Win32.GetSecurityInfo(ResourceType resourceType, String name, SafeHandle handle, AccessControlSections accessControlSections, RawSecurityDescriptor& resultSd)
at System.Security.AccessControl.NativeObjectSecurity.CreateInternal(ResourceType resourceType, Boolean isContainer, String name, SafeHandle handle, AccessControlSections includeSections, Boolean createByName, ExceptionFromErrorCode exceptionFromErrorCode, Object exceptionContext)
at System.Security.AccessControl.FileSystemSecurity..ctor(Boolean isContainer, String name, AccessControlSections includeSections, Boolean isDirectory)
at System.Security.AccessControl.DirectorySecurity..ctor(String name, AccessControlSections includeSections)
at Duplicati.Library.Snapshots.SystemIOWindows.GetAccessControlDir(String path)
at Duplicati.Library.Snapshots.SystemIOWindows.GetMetadata(String path, Boolean isSymlink, Boolean followSymlink)
at Duplicati.Library.Main.Operation.BackupHandler.GenerateMetadata(ISnapshotService snapshot, String path, FileAttributes attributes)
and
No hash or size recorded for duplicati-b405e31f23dbc493399373523f329a994.dblock.zip.aes, performing full verification
Here’s the BackendTool output. I have no idea how to interpret this:
(The forum won’t let me upload all of this, so it’s truncated after a few entries)
Starting run no 0
Generating file 0 (38.90 MB)
Generating file 1 (49.74 MB)
Generating file 2 (5.36 MB)
Generating file 3 (37.98 MB)
Generating file 4 (17.61 MB)
Generating file 5 (2.81 MB)
Generating file 6 (13.80 MB)
Generating file 7 (16.93 MB)
Generating file 8 (35.09 MB)
Generating file 9 (11.96 MB)
Uploading wrong files ...
Generating file 10 (1.83 KB)
Uploading file 0, 1.83 KB ... Failed to upload file 0, error message: Renci.SshNet.Common.SftpPermissionDeniedException: Permission denied
at Renci.SshNet.Sftp.SftpSession.RequestOpen(String path, Flags flags, Boolean nullOnError)
at Renci.SshNet.SftpClient.InternalUploadFile(Stream input, String path, Flags flags, SftpUploadAsyncResult asyncResult, Action`1 uploadCallback)
at Duplicati.Library.Backend.SSHv2.Put(String remotename, Stream stream)
at Duplicati.CommandLine.BackendTester.Program.Uploadfile(String localfilename, Int32 i, String remotefilename, IBackend backend, Boolean disableStreaming), remote name: r6AC6aYRUUNulnRkB
Uploading file 0, 1.83 KB ... Failed to upload file 0, error message: Renci.SshNet.Common.SftpPermissionDeniedException: Permission denied
at Renci.SshNet.Sftp.SftpSession.RequestOpen(String path, Flags flags, Boolean nullOnError)
at Renci.SshNet.SftpClient.InternalUploadFile(Stream input, String path, Flags flags, SftpUploadAsyncResult asyncResult, Action`1 uploadCallback)
at Duplicati.Library.Backend.SSHv2.Put(String remotename, Stream stream)
at Duplicati.CommandLine.BackendTester.Program.Uploadfile(String localfilename, Int32 i, String remotefilename, IBackend backend, Boolean disableStreaming), remote name: r6AC6aYRUUNulnRkB
Uploading file 9, 1.83 KB ... Failed to upload file 9, error message: Renci.SshNet.Common.SftpPermissionDeniedException: Permission denied
at Renci.SshNet.Sftp.SftpSession.RequestOpen(String path, Flags flags, Boolean nullOnError)
at Renci.SshNet.SftpClient.InternalUploadFile(Stream input, String path, Flags flags, SftpUploadAsyncResult asyncResult, Action`1 uploadCallback)
at Duplicati.Library.Backend.SSHv2.Put(String remotename, Stream stream)
at Duplicati.CommandLine.BackendTester.Program.Uploadfile(String localfilename, Int32 i, String remotefilename, IBackend backend, Boolean disableStreaming), remote name: aVT&om(#uCqu=EzB!eR
Uploading files ...
Uploading file 0, 38.90 MB ... Failed to upload file 0, error message: Renci.SshNet.Common.SftpPermissionDeniedException: Permission denied
at Renci.SshNet.Sftp.SftpSession.RequestOpen(String path, Flags flags, Boolean nullOnError)
at Renci.SshNet.SftpClient.InternalUploadFile(Stream input, String path, Flags flags, SftpUploadAsyncResult asyncResult, Action`1 uploadCallback)
at Duplicati.Library.Backend.SSHv2.Put(String remotename, Stream stream)
at Duplicati.CommandLine.BackendTester.Program.Uploadfile(String localfilename, Int32 i, String remotefilename, IBackend backend, Boolean disableStreaming), remote name: r6AC6aYRUUNulnRkB
Uploading file 1, 49.74 MB ... Failed to upload file 1, error message: Renci.SshNet.Common.SftpPermissionDeniedException: Permission denied
at Renci.SshNet.Sftp.SftpSession.RequestOpen(String path, Flags flags, Boolean nullOnError)
at Renci.SshNet.SftpClient.InternalUploadFile(Stream input, String path, Flags flags, SftpUploadAsyncResult asyncResult, Action`1 uploadCallback)
at Duplicati.Library.Backend.SSHv2.Put(String remotename, Stream stream)
at Duplicati.CommandLine.BackendTester.Program.Uploadfile(String localfilename, Int32 i, String remotefilename, IBackend backend, Boolean disableStreaming), remote name: 5KZ)5Xv
Uploading file 2, 5.36 MB ... Failed to upload file 2, error message: Renci.SshNet.Common.SftpPermissionDeniedException: Permission denied
at Renci.SshNet.Sftp.SftpSession.RequestOpen(String path, Flags flags, Boolean nullOnError)
at Renci.SshNet.SftpClient.InternalUploadFile(Stream input, String path, Flags flags, SftpUploadAsyncResult asyncResult, Action`1 uploadCallback)
at Duplicati.Library.Backend.SSHv2.Put(String remotename, Stream stream)
at Duplicati.CommandLine.BackendTester.Program.Uploadfile(String localfilename, Int32 i, String remotefilename, IBackend backend, Boolean disableStreaming), remote name: w6BAq)5@aYXh@n1DjMyf'kX@MhMj4RROa-cc#mKBHTuEISYoU#m6Ai!lhF,iCVqHh
Uploading file 3, 37.98 MB ... Failed to upload file 3, error message: Renci.SshNet.Common.SftpPermissionDeniedException: Permission denied
at Renci.SshNet.Sftp.SftpSession.RequestOpen(String path, Flags flags, Boolean nullOnError)
at Renci.SshNet.SftpClient.InternalUploadFile(Stream input, String path, Flags flags, SftpUploadAsyncResult asyncResult, Action`1 uploadCallback)
at Duplicati.Library.Backend.SSHv2.Put(String remotename, Stream stream)
at Duplicati.CommandLine.BackendTester.Program.Uploadfile(String localfilename, Int32 i, String remotefilename, IBackend backend, Boolean disableStreaming), remote name: m3c!(Z''2x=z!RkXMwzwM7MlgLAf(xqYnZO-$(Ez1'h,-x_Y8_M$rGsEq)(Dy
Uploading file 4, 17.61 MB ... Failed to upload file 4, error message: Renci.SshNet.Common.SftpPermissionDeniedException: Permission denied
at Renci.SshNet.Sftp.SftpSession.RequestOpen(String path, Flags flags, Boolean nullOnError)
at Renci.SshNet.SftpClient.InternalUploadFile(Stream input, String path, Flags flags, SftpUploadAsyncResult asyncResult, Action`1 uploadCallback)
at Duplicati.Library.Backend.SSHv2.Put(String remotename, Stream stream)
at Duplicati.CommandLine.BackendTester.Program.Uploadfile(String localfilename, Int32 i, String remotefilename, IBackend backend, Boolean disableStreaming), remote name: FXVAArYhv(hGxBnRWkf gb
Uploading file 5, 2.81 MB ... Failed to upload file 5, error message: Renci.SshNet.Common.SftpPermissionDeniedException: Permission denied
at Renci.SshNet.Sftp.SftpSession.RequestOpen(String path, Flags flags, Boolean nullOnError)
at Renci.SshNet.SftpClient.InternalUploadFile(Stream input, String path, Flags flags, SftpUploadAsyncResult asyncResult, Action`1 uploadCallback)
at Duplicati.Library.Backend.SSHv2.Put(String remotename, Stream stream)
at Duplicati.CommandLine.BackendTester.Program.Uploadfile(String localfilename, Int32 i, String remotefilename, IBackend backend, Boolean disableStreaming), remote name: ksnwIx_Yo5AtXi9HdO+KRtl3R8tJWTaTTWB2),,PVPrvigc252Ui9Tm(hJ4Y
Uploading file 6, 13.80 MB ... Failed to upload file 6, error message: Renci.SshNet.Common.SftpPermissionDeniedException: Permission denied
at Renci.SshNet.Sftp.SftpSession.RequestOpen(String path, Flags flags, Boolean nullOnError)
at Renci.SshNet.SftpClient.InternalUploadFile(Stream input, String path, Flags flags, SftpUploadAsyncResult asyncResult, Action`1 uploadCallback)
at Duplicati.Library.Backend.SSHv2.Put(String remotename, Stream stream)
at Duplicati.CommandLine.BackendTester.Program.Uploadfile(String localfilename, Int32 i, String remotefilename, IBackend backend, Boolean disableStreaming), remote name: %3j_$ZtRLbBbr#bDu@8LV7R,Qxl%+9zbK#jz9v
Uploading file 7, 16.93 MB ... Failed to upload file 7, error message: Renci.SshNet.Common.SftpPermissionDeniedException: Permission denied
at Renci.SshNet.Sftp.SftpSession.RequestOpen(String path, Flags flags, Boolean nullOnError)
at Renci.SshNet.SftpClient.InternalUploadFile(Stream input, String path, Flags flags, SftpUploadAsyncResult asyncResult, Action`1 uploadCallback)
at Duplicati.Library.Backend.SSHv2.Put(String remotename, Stream stream)
at Duplicati.CommandLine.BackendTester.Program.Uploadfile(String localfilename, Int32 i, String remotefilename, IBackend backend, Boolean disableStreaming), remote name: IbPntj!U$_Ac2j
Uploading file 8, 35.09 MB ... Failed to upload file 8, error message: Renci.SshNet.Common.SftpPermissionDeniedException: Permission denied
at Renci.SshNet.Sftp.SftpSession.RequestOpen(String path, Flags flags, Boolean nullOnError)
at Renci.SshNet.SftpClient.InternalUploadFile(Stream input, String path, Flags flags, SftpUploadAsyncResult asyncResult, Action`1 uploadCallback)
at Duplicati.Library.Backend.SSHv2.Put(String remotename, Stream stream)
at Duplicati.CommandLine.BackendTester.Program.Uploadfile(String localfilename, Int32 i, String remotefilename, IBackend backend, Boolean disableStreaming), remote name: + r4&rVLC7@4V3'R7%)zHV_mX@B8Ajdfuj8VEqa$LL7C=Ji
Uploading file 9, 11.96 MB ... Failed to upload file 9, error message: Renci.SshNet.Common.SftpPermissionDeniedException: Permission denied
at Renci.SshNet.Sftp.SftpSession.RequestOpen(String path, Flags flags, Boolean nullOnError)
at Renci.SshNet.SftpClient.InternalUploadFile(Stream input, String path, Flags flags, SftpUploadAsyncResult asyncResult, Action`1 uploadCallback)
at Duplicati.Library.Backend.SSHv2.Put(String remotename, Stream stream)
at Duplicati.CommandLine.BackendTester.Program.Uploadfile(String localfilename, Int32 i, String remotefilename, IBackend backend, Boolean disableStreaming), remote name: aVT&om(#uCqu=EzB!eR
Verifying file list ...
*** File with name r6AC6aYRUUNulnRkB was uploaded but not found afterwards
*** File with name 5KZ)5Xv was uploaded but not found afterwards
*** File with name w6BAq)5@aYXh@n1DjMyf'kX@MhMj4RROa-cc#mKBHTuEISYoU#m6Ai!lhF,iCVqHh was uploaded but not found afterwards
*** File with name m3c!(Z''2x=z!RkXMwzwM7MlgLAf(xqYnZO-$(Ez1'h,-x_Y8_M$rGsEq)(Dy was uploaded but not found afterwards
*** File with name FXVAArYhv(hGxBnRWkf gb was uploaded but not found afterwards
*** File with name ksnwIx_Yo5AtXi9HdO+KRtl3R8tJWTaTTWB2),,PVPrvigc252Ui9Tm(hJ4Y was uploaded but not found afterwards
*** File with name %3j_$ZtRLbBbr#bDu@8LV7R,Qxl%+9zbK#jz9v was uploaded but not found afterwards
*** File with name IbPntj!U$_Ac2j was uploaded but not found afterwards