diff --git a/CHANGES b/CHANGES index 1a0bb4adc..762b690cd 100644 --- a/CHANGES +++ b/CHANGES @@ -1578,4 +1578,5 @@ * Various fixes for notifications * Add FTP support for apps * Add app version as part of info dialog +* (backup) Do not abort archive if file(s) disappear diff --git a/package-lock.json b/package-lock.json index 4c07d9df8..5ad9cc298 100644 --- a/package-lock.json +++ b/package-lock.json @@ -5940,9 +5940,8 @@ } }, "tar-fs": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/tar-fs/-/tar-fs-2.0.0.tgz", - "integrity": "sha512-vaY0obB6Om/fso8a8vakQBzwholQ7v5+uy+tF3Ozvxv1KNezmVQAiWtcNmMHFSFPqL3dJA8ha6gdtFbfX9mcxA==", + "version": "github:cloudron-io/tar-fs#c941c1e364f5345686f92656238a1f8ce67232f3", + "from": "github:cloudron-io/tar-fs#ignore_file_removed", "requires": { "chownr": "^1.1.1", "mkdirp": "^0.5.1", diff --git a/package.json b/package.json index 998b1d429..734aaa978 100644 --- a/package.json +++ b/package.json @@ -70,7 +70,7 @@ "split": "^1.0.1", "superagent": "^4.1.0", "supererror": "^0.7.2", - "tar-fs": "^2.0.0", + "tar-fs": "github:cloudron-io/tar-fs#ignore_file_removed", "tar-stream": "^2.0.1", "tldjs": "^2.3.1", "underscore": "^1.9.1", diff --git a/src/backups.js b/src/backups.js index 1a1e69635..3d3bb266e 100644 --- a/src/backups.js +++ b/src/backups.js @@ -286,6 +286,10 @@ function tarPack(dataLayout, key, callback) { var pack = tar.pack('/', { dereference: false, // pack the symlink and not what it points to entries: dataLayout.localPaths(), + ignoreFileRemoved: (path, err) => { + debug(`tarPack: ${path} got removed (${err.code}). ignoring`); + return true; + }, map: function(header) { header.name = dataLayout.toRemotePath(header.name); return header;