Compare commits
1
Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
3f0d2e6a60 |
@@ -109,9 +109,9 @@ read is skipped with a warning and loses its database record (see
|
||||
skips, and the summary line (see "Progress" and "`scan` mode"). The
|
||||
log grows with every scan; rotate it like any other.
|
||||
- Skipped paths do not fail a scan: it still exits 0, and cron sends
|
||||
nothing. A scan that fails, or is stopped by a signal, exits 1 with
|
||||
the reason among the last lines of the log; `tail` prints them, and
|
||||
cron mails them to root if the host can send mail.
|
||||
nothing. A scan that fails, or is stopped by `SIGINT` or `SIGTERM`,
|
||||
exits 1 with the reason among the last lines of the log; `tail`
|
||||
prints them, and cron mails them to root if the host can send mail.
|
||||
- A scan still running when the next one starts carries on. The new
|
||||
one fails at once, and the lines cron mails include
|
||||
`sfdupes: another scan is running (lock held on /var/lib/sfdupes/db.sqlite.lock)`.
|
||||
@@ -126,8 +126,8 @@ Each row of `report` names two copies of one file, and each row of
|
||||
`trees` two copies of one directory tree (see "Report output format"
|
||||
and "Trees output format"). In a group of copies, the path that sorts
|
||||
first byte by byte is `first` and every other path is a `dupe` of it.
|
||||
`first` is not the original or the oldest copy; which copy to keep is
|
||||
your choice.
|
||||
`first` says nothing about which copy is the original or the oldest;
|
||||
which copy to keep is your choice.
|
||||
|
||||
A row is a candidate, not proof:
|
||||
|
||||
@@ -154,10 +154,13 @@ frees nothing.
|
||||
A path holding a backslash, tab, newline or carriage return is escaped
|
||||
in the reports (see "Report output format"). Undo the escapes before
|
||||
using it. `printf '%b'` does exactly that, because every backslash in
|
||||
an escaped path starts one of the four escapes:
|
||||
an escaped path starts one of the four escapes. Command substitution
|
||||
drops trailing newlines, so print an `x` after the path and remove it
|
||||
afterwards, or a path that ends in a newline names a different file:
|
||||
|
||||
```sh
|
||||
cmp "$(printf '%b' '/srv/a/tab\tname.txt')" /srv/b/tab-copy.txt
|
||||
p="$(printf '%bx' '/srv/a/tab\tname.txt')"; p="${p%x}"
|
||||
cmp "$p" /srv/b/tab-copy.txt
|
||||
```
|
||||
|
||||
Check a `trees` row with `diff -r`, which compares the two trees file
|
||||
|
||||
Reference in New Issue
Block a user