102d8d4136
src/backup/prune.rs: implement --keep-hourly
2019-12-07 11:23:33 +01:00
1af6637004
docs/administration-guide.rst: add hint about ISO week date
2019-12-07 10:45:43 +01:00
052c4aa160
src/backup/prune.rs: prune - correctly use iso_week year
2019-12-06 19:41:38 +01:00
84322d8c75
docs/administration-guide.rst: doc prune --dry-run
2019-12-06 19:20:05 +01:00
fa0b950070
pxar: fuse: add support for list- and getxattr
...
Signed-off-by: Christian Ebner <c.ebner@proxmox.com >
2019-12-06 16:44:15 +01:00
25ad4cbf63
pxar: fuse: cache goodbye table for each directory on opendir and release it on releasedir
...
Cache not only the goodbye table for the last directory but for each opened
directory.
The opendir fuse callback will fill the cache with the goodbye table and
releasedir will remove it from the cache.
This should reduce the number of chuncks fetched from the server in some cases.
Signed-off-by: Christian Ebner <c.ebner@proxmox.com >
2019-12-06 16:43:59 +01:00
02491b8fc6
pxar: fuse: use binary search instead of linear search in goodbye table.
...
The goodbye table is layed out as binary search tree based on the hash, so use
this to be more efficient when looking up a hash in the table for directories
with a large number of entries.
Signed-off-by: Christian Ebner <c.ebner@proxmox.com >
2019-12-06 16:42:01 +01:00
5ab52d9a8a
docs/command-syntax.rst: include catalog-shell-synopsis.rst
2019-12-06 13:46:02 +01:00
7074a0b339
src/bin/proxmox-backup-client.rs: white space cleanup
2019-12-06 13:35:59 +01:00
74fa81b89c
src/bin/proxmox-backup-client.rs: implement prune --dry-run
2019-12-06 13:35:25 +01:00
1f604f1a5a
src/api2/admin/datastore.rs: add new api test_prune()
2019-12-06 13:06:56 +01:00
0ab08ac980
src/api2/admin/datastore.rs: cleanup - move schema defininition in front of rust method
2019-12-06 12:36:41 +01:00
1a0678b601
src/api2/admin/datastore.rs: remove prune parameters from status call
...
Not idea why they are added there.
2019-12-06 12:32:53 +01:00
9e3f008804
src/backup/prune.rs: add new helper keeps_something()
2019-12-06 12:28:31 +01:00
4bf0cc3b41
proxmox-backup-client/man1.rst: include catalog shell commands
2019-12-06 10:08:11 +01:00
d75fbb0a21
src/bin/dump-catalog-shell-cli.rs: generate catalog shell docs
2019-12-06 09:54:13 +01:00
55c3cb69cd
rename catalog_shell_api() into catalog_shell_cli()
2019-12-06 09:42:05 +01:00
ecbaa38fa4
src/backup/catalog_shell.rs: factor out catalog_shell_api()
...
In order to extract documentation ...
2019-12-06 09:35:47 +01:00
06aa0f2844
debian/control: remove libreadline-dev build dependency
...
Signed-off-by: Christian Ebner <c.ebner@proxmox.com >
2019-12-06 09:03:15 +01:00
cca67dc0c3
src/backup/readline.rs: removed in favor of new readline impl
...
Signed-off-by: Christian Ebner <c.ebner@proxmox.com >
2019-12-06 09:03:04 +01:00
6934c6fe77
src/backup/catalog_shell.rs: adapt to use API Schema definition and rustyline
...
This major refactoring of the catalog based shell utilizes the new API macro and
the API Schema as well as rustyline instead of the old GNU readline C API.
The code now has these 3 main components:
* The `Shell` which handles the readline loop via rustyline.
* The shell functions defined via the API macro.
* The `Context` which holds catalog and decoder instances.
Signed-off-by: Christian Ebner <c.ebner@proxmox.com >
2019-12-06 09:02:44 +01:00
9b78352188
src/backup/prune.rs: define new struct PruneOptions
2019-12-06 08:56:27 +01:00
92acbd69f7
src/backup/backup_info.rs: remove old prune code
2019-12-06 08:29:27 +01:00
408434360b
src/backup/prune.rs: add PruneMark::KeepPartial
...
Use separate mark for partial backup - dont mess them up with regular ones.
2019-12-06 08:15:32 +01:00
a8c8366cfa
src/backup/prune.rs: factor out code into remove_incomplete_snapshots()
2019-12-06 08:12:08 +01:00
dc18849156
src/backup/prune.rs: moved prune related code into extra file
2019-12-06 08:06:21 +01:00
a096eecb5f
tests/prune.rs: add more tests
2019-12-05 19:01:51 +01:00
6f47dd8a0f
src/backup/backup_info.rs - prune: improve algorythm
2019-12-05 18:41:28 +01:00
659da6c957
tests/prune_data: removed, build list manually
2019-12-05 16:47:08 +01:00
8f0b4c1f90
src/api2/admin/datastore.rs - prune: log info about all snapshots
2019-12-05 15:35:11 +01:00
02d22dec4d
docs/administration-guide.rst: explain how prune handles uncomplete backups
2019-12-05 11:27:42 +01:00
9ce42759ec
src/backup/backup_info.rs - compute_prune_list: remove unfinished backups
2019-12-05 11:18:10 +01:00
6b9f395f31
tests/prune_data: create test data for regression tests
2019-12-05 09:57:37 +01:00
52b2be979d
docs/administration-guide.rst: improve prune docs
2019-12-05 09:43:46 +01:00
2c034f8d0a
src/backup/backup_info.rs: improve prune algorithm
2019-12-05 08:55:19 +01:00
0c875cf379
tests/prune.rs: regression tests fro prune
2019-12-04 16:08:03 +01:00
aeeac29bb1
src/backup/backup_info.rs: new compute_prune_list helper
...
So that we can write regression tests for this.
2019-12-04 15:49:11 +01:00
3d229a4a01
Revert "test another api macro use"
...
This reverts commit a9aa52e6a8
.
Because we do not want to use macros for the backup protocol for now.
And because it crashes backup tasks for some unknown reason.
2019-12-04 14:18:11 +01:00
6e5a0c03fa
docs/administration-guide.rst: add prune docs
2019-12-04 13:46:57 +01:00
ac456d85e8
docs/administration-guide.rst: describe login/logout
2019-12-04 10:47:41 +01:00
4f1e40a29e
src/api2/admin/datastore.rs - read_backup_index: add manifest with size
...
So that the client can display the size of the index file.
2019-12-04 10:03:52 +01:00
ed858b0af4
docs/administration-guide.rst: minor cleanups
2019-12-03 16:58:34 +01:00
c5ff124143
docs/Makefile: remove paper settings (we set that in conf.py)
2019-12-03 16:51:43 +01:00
64b85116eb
docs/administration-guide.rst: explain restore
2019-12-03 16:19:30 +01:00
5a499f3281
docs/administration-guide.rst: add encryption section
2019-12-03 15:24:04 +01:00
a9aa52e6a8
test another api macro use
...
The api macro now supports hyphens in parameter names and
referencing externally defined `Schema`s, so here's an
example.
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com >
2019-12-03 13:41:40 +01:00
de0aa53174
pxar: decoder: fix incorrect read for hardlinks.
...
Decoders read must check if the file is a hardlink and read data from the
corresponding offset if so.
Signed-off-by: Christian Ebner <c.ebner@proxmox.com >
2019-12-03 12:08:23 +01:00
b7e18004a2
pxar: decoder: return original name in attributes()
...
The returned filename should be the one of the file given at the offset, not of
the one the hardlink points to.
Signed-off-by: Christian Ebner <c.ebner@proxmox.com >
2019-12-03 12:08:07 +01:00
a129fdd9cc
docs/administration-guide.rst: improve section "Creating Backups"
2019-12-03 11:59:00 +01:00
a96521577e
correctly install bash completion helpers
2019-12-03 09:52:53 +01:00