Girish Ramakrishnan
247309e11b
use constant
2024-07-30 11:00:50 +02:00
Girish Ramakrishnan
b26ff08a3c
shell: copy over code and signal values from cp object
2024-07-22 21:24:27 +02:00
Girish Ramakrishnan
44678cf5f1
sshfs: if remote copy fails, fallback to sshfs based copy
...
remote copy can file if there is no cp in the remote . for example,
if it was a windows server.
2024-07-22 20:53:19 +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
Johannes Zellner
d122ece8e9
Attempt server side copy on sshfs via ssh exec
...
only so far tested agains hetzner storage boxes which apparently run BSD
unix tools
2024-07-02 19:51:34 +02:00
Girish Ramakrishnan
2b1b304c6e
backup/import/restore: fix crash with root path calcuation
...
rootPath was calculated before the arguments were validated
2024-04-09 13:53:48 +02:00
Girish Ramakrishnan
a6f078330f
shell: no need to promise scoping
2024-02-21 19:40:27 +01:00
Girish Ramakrishnan
cfd5c0f82b
shell: rewrite exec to use execFile
...
this also renames execFile to execArgs
2024-02-21 18:54:43 +01:00
Girish Ramakrishnan
2237d2bbb7
shell: remove usage of .spawn
2024-02-21 13:27:04 +01:00
Girish Ramakrishnan
54c7757e38
Fix crash
2024-02-20 21:53:52 +01:00
Girish Ramakrishnan
3da3ccedcb
volumes: only wait for 5 seconds for mount status
...
mountpoint -q can never exit if the nfs mount disappears, for example
2024-02-20 21:38:57 +01:00
Girish Ramakrishnan
243a254f3e
filesystem: remove hook should not rm recursively
...
this causes a bug in the backupcleaner when it tries to prune
empty directories when using the filesystem backend.
the bug is hit when a box backup is getting cleaned up but
one or more app backups are preserved.
2024-01-25 11:50:48 +01:00
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
e6b85c2df7
remount does not need a backend hook
2023-08-15 08:55:38 +05:30
Johannes Zellner
10646e9e04
Add generic disk (partition) backup provider to replace ext4 and xfs
2023-08-08 15:11:22 +02:00
Girish Ramakrishnan
3d5c21d9ca
backups: encrypted backups must have .enc extension
2023-07-24 22:25:06 +05:30
Girish Ramakrishnan
050a82039a
getBackupProviderStatus -> getProviderStatus
2023-07-15 11:00:45 +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
8a5d4e2fb0
better debugs
2022-11-05 08:43:02 +01:00
Girish Ramakrishnan
17c7cc5ec7
Remove external df module
...
It has some parsing issues with locale
2022-10-18 19:56:18 +02:00
Girish Ramakrishnan
c3793da5bb
split checkPrecondition so it can be used in cleaner as well
2022-10-02 17:41:21 +02:00
Girish Ramakrishnan
4f4a0ec289
use mount code to check mount status
2022-10-02 16:51:03 +02:00
Girish Ramakrishnan
56b981a52b
backups: when checking mount status, ignore the prefix
2022-10-02 16:33:04 +02:00
Girish Ramakrishnan
074e9cfd93
rename getRootPath to getBackupRootPath
2022-10-02 16:26:27 +02:00
Girish Ramakrishnan
9d17c6606b
rename to checkBackupPreconditions
...
since this is called only by the backup logic
2022-10-02 16:20:14 +02:00
Girish Ramakrishnan
b32288050e
backups: check mount status before checking available size
2022-10-02 16:16:30 +02:00
Girish Ramakrishnan
544ca6e1f4
initial xfs support
2022-06-08 10:58:00 -07:00
Girish Ramakrishnan
ea01586b52
storage: make copy async
2022-04-30 16:24:45 -07:00
Girish Ramakrishnan
64a2493ca2
Fixup prettyBytes
2022-04-15 17:56:24 -05:00
Girish Ramakrishnan
bdc9a0cbe3
inline prettyBytes
2022-04-15 09:18:07 -05:00
Girish Ramakrishnan
0abc6c8844
replace pretty-bytes module
2022-04-15 07:34:16 -05:00
Girish Ramakrishnan
685bda35b9
storage: make remove and removeDir async
2022-04-14 16:16:20 -05:00
Girish Ramakrishnan
d54c03f0a0
storage: make exists async
2022-04-14 12:24:34 -05:00
Girish Ramakrishnan
11f7be2065
storage: verifyConfig is now async
2022-04-14 12:24:30 -05:00
Girish Ramakrishnan
a39e0ab934
storage: make remount async
2022-04-14 09:57:31 -05:00
Girish Ramakrishnan
b51082f7e4
storage: checkPreconditions is now async
2022-04-14 07:40:19 -05:00
Girish Ramakrishnan
452a4d9a75
backups: add remotePath
...
the main motivation is that id can be used in REST API routes. previously,
the id was a path and this had a "/" in it. This made /api/v1/backups/:backupId
not work.
2022-04-04 20:40:40 -07:00
Girish Ramakrishnan
54934c41a7
storage: rename getBackupPath to getBasePath
2022-04-04 14:08:24 -07:00
Girish Ramakrishnan
2434e81383
backups: fix incorrect mountpoint check with managed mounts
2022-02-25 12:53:05 -08:00
Girish Ramakrishnan
dfebda7170
Remove deprecated fs.rmdirSync
2022-02-16 20:30:33 -08:00
Girish Ramakrishnan
2ed770affd
mountpoint: allow chown flag to be set
2022-02-16 11:48:37 -08:00
Girish Ramakrishnan
964c1a5f5a
remove field from errors
...
we have standardized on indexOf in error.message by now
2022-02-07 13:44:29 -08:00
Girish Ramakrishnan
a786fad3ee
mountPoint is only set for 'mountpoint' (unmanaged)
...
When restoring, mountPoint field is expected for managed mount points
2022-01-26 13:37:16 -08:00
Girish Ramakrishnan
6d864d3621
ensure we have atleast 1GB before making an update
2021-11-16 18:20:40 -08:00
Johannes Zellner
d1a7172895
Add remount route for mountlike backup storages
2021-10-11 18:12:11 +02:00
Johannes Zellner
635c5f7073
For some reason using df with regular promises breaks and calls catch without error
2021-07-29 22:21:18 +02:00
Girish Ramakrishnan
3659210c7b
typo
2021-07-10 11:13:36 -07:00
Girish Ramakrishnan
5d836b3f7c
sshfs: only chown when auth as root user
2021-07-10 08:36:30 -07:00
Girish Ramakrishnan
17a70fdefd
sshfs: hide private key
2021-07-09 16:07:45 -07:00
Johannes Zellner
41273640da
SSHFS also does not need to chown here
2021-06-30 17:10:34 +02:00