Alexander Neumann
3865b59716
rclone: Rework backend option parsing
...
This change allows passing no arguments to rclone, using `-o
rclone.args=""`. It is helpful when running rclone remotely via SSH
using a key with a forced command (via `command=` in `authorized_keys`).
2019-03-02 10:36:42 +01:00
Alexander Neumann
e277a92a2f
self-update: Don't cancel download after 30 seconds
2019-02-23 11:15:18 +01:00
Alexander Neumann
fed25714a4
Merge pull request 2139 from restic/fail-zero-bytes-stdin
...
Return error when reading zero byte from stdin
2019-02-10 12:34:05 +01:00
Alexander Neumann
8906d85ab8
Merge pull request 2138 from restic/fix-2136
...
Use processed bytes for summary
2019-02-10 12:32:50 +01:00
Matthew Holt
6cf13483b5
Add snapshot ID to summary output
2019-02-10 12:09:09 +01:00
Matthew Holt
f645306a18
Initial implementation of JSON progress reporter
2019-02-10 12:09:09 +01:00
Alexander Neumann
1f246c5309
Merge pull request 2090 from plumbeo/within-hours
...
Increase the granularity of the "keep within" snapshot retention policy
2019-01-06 15:04:55 +01:00
Alexander Neumann
c4fbf2c779
Return error when reading zero byte from stdin
...
This commit changes the internal file system implementation for reading
data from stdin, it now returns an error when no bytes could be read. I
think it's worth failing in this case, the user instructed restic to
read some data from stdin, and no data was read at all. Maybe it was in
a pipe and some earlier stage failed.
See #2135 for a short discussion.
2019-01-06 14:52:20 +01:00
Alexander Neumann
7c084014fa
Use processed bytes for summary
...
When restic reads the backup from stdin, the number of bytes processed
was always displayed as zero. The reason is that the UI for the archive
uses the total bytes as returned by the scanner, which is zero for
stdin. So instead we keep track of the real number of bytes processed
and print that at the end.
Closes #2136
2019-01-06 13:15:23 +01:00
Alexander Neumann
98526b8dbe
Merge pull request 2100 from restic/fix-1989
...
gs: Respect bandwidth limiting
2018-11-28 21:39:42 +01:00
Alexander Neumann
0083680d33
Merge pull request 2099 from restic/fix-1229
...
cache: Don't return an error for truncated files
2018-11-28 21:39:35 +01:00
plumbeo
71891b340c
Support time ranges expressed in hours in snapshot retention policies
...
Make restic forget --keep-within accept time ranges measured in hours and choose
accordingly which snapshots to keep and which to forget. Add relative tests.
2018-11-26 14:27:42 +01:00
Alexander Neumann
c9745cd47e
gs: Respect bandwidth limiting
...
In 0dfdc11ed9
, accidentally we dropped
using the provided http.RoundTripper, this commits adds it back.
Closes #1989
2018-11-25 18:52:32 +01:00
Chris Howie
1688713400
Add key hinting ( #2097 )
2018-11-25 09:13:18 -05:00
Alexander Neumann
00597284de
cache: Don't return an error for truncated files
...
Closes #1229
Closes #1328
2018-11-25 14:18:02 +01:00
plumbeo
7486bfea5b
Extend custom Duration granularity to hours and add tests
2018-11-14 17:27:02 +01:00
Alexander Neumann
5b95bb7059
Fix error message on Windows
2018-11-11 14:06:32 +01:00
Alexander Neumann
bfa18ee8ec
DownloadAndHash: Check error returned by Load()
2018-10-28 21:28:56 +01:00
Alexander Neumann
0b600d6cef
index.New: Test various error conditions
2018-10-28 14:02:31 +01:00
Alexander Neumann
3ae2a79bdf
restic: Use local rand source instead of global one
2018-10-28 14:01:30 +01:00
Alexander Neumann
f7c0893f76
index: Add tests for error conditions
2018-10-28 13:16:36 +01:00
Alexander Neumann
c3de301fc8
index: Use interfaces instead of *repository.Repository
2018-10-28 12:58:34 +01:00
Alexander Neumann
944b446ac0
index: Cancel context for tests
2018-10-28 11:17:04 +01:00
Alexander Neumann
b096fc7abf
index: Correctly process errors listing all files
...
This also removes the now unused `list` and `worker` packages.
2018-10-28 11:16:29 +01:00
Alexander Neumann
7ac683c360
rclone: Inject debug logger for HTTP
2018-10-21 19:58:40 +02:00
Gábor Lipták
e5d7879622
Correct ineffassign
...
Signed-off-by: Gábor Lipták <gliptak@gmail.com>
2018-10-19 16:58:14 -04:00
Alexander Neumann
c0fca3f50a
restore: Close files tested with --verify
...
Before, the target files were opened once per blob and never closed,
this commit fixes that.
2018-10-14 21:00:14 +02:00
Alexander Neumann
4c2072d875
Merge pull request 1719 from ifedorenko/mt-restorer
...
new optimized multithreaded restore implementation
2018-10-14 20:29:16 +02:00
Igor Fedorenko
bda8d7722e
restorer: Optimize empty file restore
...
don't create fileInfo structs for empty files. this saves memory.
this also avoids extra serial scan of all fileInfo, which should
make restore faster and more consistent.
Signed-off-by: Igor Fedorenko <igor@ifedorenko.com>
2018-10-14 17:39:42 +02:00
Igor Fedorenko
c2bcb764cd
restorer: Add a note on hardlink metadata
...
Signed-off-by: Igor Fedorenko <igor@ifedorenko.com>
2018-10-14 17:39:42 +02:00
Igor Fedorenko
9e24154ec9
restore: significantly reduce memory footprint
...
reworked restore error callback to use file location
path instead of much heavier Node. this reduced restore
memory usage by as much as 50% in some of my tests.
Signed-off-by: Igor Fedorenko <igor@ifedorenko.com>
2018-10-14 17:39:42 +02:00
Igor Fedorenko
9f3ca97ee8
restore: Chang fileInfo to use snapshot location instead of target path
...
* uses less memory as common prefix is only stored once
* stepping stone for simpler error callback api, which
will allow further memory footprint reduction
Signed-off-by: Igor Fedorenko <igor@ifedorenko.com>
2018-10-14 17:39:42 +02:00
Igor Fedorenko
32d5ceba87
restore: Fix packcache capacity math with failed downloads
...
Signed-off-by: Igor Fedorenko <igor@ifedorenko.com>
2018-10-14 17:39:42 +02:00
Igor Fedorenko
e010f3b884
restore: Fix small memory leak in filesWriter, add tests
...
Signed-off-by: Igor Fedorenko <igor@ifedorenko.com>
2018-10-14 17:39:42 +02:00
Alexander Neumann
941202c119
restore: Rename things, match the rest of the project
2018-10-14 17:39:37 +02:00
Alexander Neumann
c021ad2334
restore: Move documentation to godoc
2018-10-14 17:39:35 +02:00
Igor Fedorenko
da57302fca
restore: Removed legacy restore implementation
...
Signed-off-by: Igor Fedorenko <igor@ifedorenko.com>
2018-10-14 17:37:30 +02:00
Igor Fedorenko
1869930d95
restore: New optimized multithreaded implementation
...
Signed-off-by: Igor Fedorenko <igor@ifedorenko.com>
2018-10-14 17:37:30 +02:00
Igor Fedorenko
1213d8fef4
Cleanup: more realistic restorer test data setup
...
Signed-off-by: Igor Fedorenko <igor@ifedorenko.com>
2018-10-14 17:37:30 +02:00
Alexander Neumann
a432b42c81
self-update: Check current version before download
2018-10-14 17:29:46 +02:00
Alexander Neumann
0cb241b7d3
Remove build tag release
2018-10-11 19:40:38 +02:00
Toby Burress
8ceda538ef
b2: simplify object iteration
...
Blazer is moving to a simpler object list interface, so I'm changing
this here as well.
2018-10-05 11:39:02 -07:00
Alexander Neumann
5971650f77
cache: Fix recheck logic, remove channel from inProgress
2018-10-04 17:09:43 +02:00
Alexander Neumann
19725954ee
cache: Recheck before downloading
2018-10-04 14:31:18 +02:00
Alexander Neumann
fb31d66951
backup: Improve error message for invalid pattern
2018-10-03 11:12:51 +02:00
Igor Fedorenko
541d232f1c
termstatus: detect and respect dumb terminals on Unix
...
Signed-off-by: Igor Fedorenko <igor@ifedorenko.com>
2018-09-21 07:24:41 -04:00
Jakob Unterwurzacher
e42d2d1da8
restore: suppress lchown errors when not running as root
...
Like "cp -a" and "rsync -a" do, only report lchown errors if we run
as root.
Like cp from GNU coreutils does, we check Geteuid() to determine if
we are running as root
( http://git.savannah.gnu.org/cgit/coreutils.git/tree/src/copy.c#n3012 ).
On Windows, lchown errors are always reported.
Fixes https://github.com/restic/restic/issues/1766
2018-09-09 15:39:10 +02:00
Alexander Neumann
1140950d7b
scanner: Use context only for cancellation
...
When the scanner is slower than the actual backup, the tomb cancels the
context passed to Scan(), which then returns ctx.Err(). In the end, the
main function prints an error message that is not helpful ("Context
cancelled") and exits with an error code although no error occurred.
The code now ignores the error in the context and just uses it for
cancellation. The scanner is not supposed to return an error anyway.
Closes #1978
2018-09-08 18:53:12 +02:00
George Armhold
bfc1bc6ee6
clean up some errors from 'go vet ./...'
2018-09-05 08:04:55 -04:00
Alexander Neumann
16885529f7
Merge pull request #1973 from restic/announce-new-cache
...
cache: Print message when new cache is created
2018-09-02 13:00:55 +02:00