Girish Ramakrishnan
fd96665e97
rsync: show better error message with too many empty dirs, symlinks or executables
2024-11-18 08:11:14 +05:30
Girish Ramakrishnan
6c3ca9c364
shell: rework code to use shell.spawn
...
spawn gives out streams and we have more control over the stdout/stderr
buffers. otherwise, we have to provide a max buffer capture size to exec
2024-10-15 12:13:46 +02:00
Girish Ramakrishnan
a9e1d7641d
shell: make require take a tag
2024-10-14 21:08:32 +02:00
Girish Ramakrishnan
083432cbfe
test: add EnsureFileSizeStream test
2024-07-18 15:39:45 +02:00
Girish Ramakrishnan
dbbce4160d
tgz: underflow/overflow proxy stream
...
In tar, the entry header contains the file size. If we don't provide it those many bytes, the tar will become corrupt
Linux provides no guarantee of how many bytes can be read from a file. This is the case with sqlite and log files
which are accessed by other processes when tar is in action. This class handles overflow and underflow
2024-07-18 15:13:38 +02:00
Girish Ramakrishnan
885aac69c5
tgz: handle addEntryToPack to error
2024-07-18 14:47:31 +02:00
Girish Ramakrishnan
b3c301fc2a
lint
2024-07-18 13:31:29 +02:00
Girish Ramakrishnan
8754a208b1
tgz: preserve mode
2024-07-11 18:10:40 +02:00
Girish Ramakrishnan
d6bb32aead
syncer: expose as async
2024-07-10 19:10:55 +02:00
Girish Ramakrishnan
3a21191fba
tgz: fix error handling
2024-07-10 19:10:24 +02:00
Girish Ramakrishnan
baf598099f
rsync: fix upload logic to match new upload api
2024-07-08 15:21:56 +02:00
Girish Ramakrishnan
7911780a16
const
2024-07-08 13:18:22 +02:00
Girish Ramakrishnan
1dc6b40a68
tgz: extract using tar-stream directly
...
we used have a fork of tar-fs. using tar-stream directly gives us
more control
2024-07-08 13:06:56 +02:00
Girish Ramakrishnan
b64b513b14
Revert "use node-tar for extract"
...
This reverts commit 285feb4f8b .
2024-07-05 09:26:38 +02:00
Girish Ramakrishnan
285feb4f8b
use node-tar for extract
...
we will switch over our tgz module to node-tar. Main advantage is that
it is used by npm. Currently, we have our own fork to ignore stat errors
in the other module.
unfortunately, I cannot get this to work with the create logic. It doesn't
support path modification - https://github.com/isaacs/node-tar/issues/271
so, will revert this immediately and keep this for future
2024-07-05 09:26:28 +02:00
Girish Ramakrishnan
8fd7daade6
rsync: empty check was removed by mistake
2024-02-22 14:47:44 +01:00
Girish Ramakrishnan
a6f078330f
shell: no need to promise scoping
2024-02-21 19:40:27 +01:00
Girish Ramakrishnan
14c9260ab0
shell: exec encoding is utf8 by default and no shell
...
explicitly mark calls that require the shell
2024-02-21 17:47:25 +01:00
Girish Ramakrishnan
9b94cf18d0
convert more execSync to async
2024-02-21 11:00:12 +01:00
Girish Ramakrishnan
1d1a7af48e
rsync: bump the buffer size to 80MB
2024-02-19 14:15:28 +01:00
Johannes Zellner
340ea3fe9b
Fix variable usage bug for noop backup provider
2023-12-18 13:23:40 +01:00
Johannes Zellner
9d9a407c3d
Noop provider does not have a rootPath set
2023-10-16 16:36:31 +02:00
Girish Ramakrishnan
7fe2de448e
remove pipeline() chain
...
it cannot be chained afaict
2023-08-29 17:44:02 +05:30
Girish Ramakrishnan
aa8c23c8b3
rework backup root
...
notes:
* backup root cannot come from backend. for dynamic mounts backend cannot know where it is mounted
* backupConfig is 3 parts - format / mount / password . there is also this rootPath (which should not be in db)
* password should be stored separately in settings at some point
* format has to be passed along everywhere because we allow restore from same backupConfig but different format. we do this by saving the format in the backups table
fixes #819
2023-08-15 22:51:45 +05:30
Girish Ramakrishnan
68b4bf1667
backupformat: print the backupFilePath
2023-08-02 09:50:34 +05:30
Girish Ramakrishnan
7d929aca54
rsync: fix crash
2023-08-01 19:03:24 +05:30
Girish Ramakrishnan
9a359a27f5
backups: download is now async
2023-07-25 10:33:03 +05:30
Girish Ramakrishnan
c86059e070
backups: move limits into a sub object
...
fixes #817
2023-07-13 12:17:57 +05:30
Girish Ramakrishnan
c4f4f3e914
logs: use %o to format error
...
otherwise, they are printed as multi-line and this messes up tail+date formatting
2023-04-16 10:49:59 +02:00
Girish Ramakrishnan
962d7030bb
replace progress-stream with our implementation
...
upstream is mostly unmaintained
2022-11-06 10:17:14 +01:00
Girish Ramakrishnan
8a5d4e2fb0
better debugs
2022-11-05 08:43:02 +01:00
Girish Ramakrishnan
074e9cfd93
rename getRootPath to getBackupRootPath
2022-10-02 16:26:27 +02:00
Girish Ramakrishnan
55e2139c69
restore: encrypted filenames
2022-06-27 09:49:58 -07:00
Girish Ramakrishnan
c9f7b9a8a6
backups: make filename encryption optional
2022-06-26 09:37:22 -07:00
Girish Ramakrishnan
6e98f5f36c
backuptask: make upload/download async
2022-04-30 16:42:14 -07:00
Girish Ramakrishnan
26cf084e1c
tarPack/tarExtract do not need a callback
2022-04-28 21:58:00 -07:00
Girish Ramakrishnan
7123ec433c
split up backupformat logic into separate files
2022-04-28 19:10:57 -07:00