Подтвердить что ты не робот

Полный список кодов ошибок rsync

Я пишу script, который делает ежедневные снимки домашних каталогов пользователей. Сначала я делаю сухой прогон, используя:

rsync -azvrn --out-format="%M %f" source/dir dest/dir

а затем действительную операцию rsync (удалив опцию -n).

Я пытаюсь разобрать результат сухого хода. В частности, мне интересно узнать точную причину ошибки rsync (если это произошло). Кто-нибудь знает о

  • Наиболее распространенные ошибки rsync и их коды?
  • Ссылка на общую страницу кода ошибки rsync?

Самое главное, что rsync (по крайней мере, на CentOs 5) не возвращает код ошибки. Скорее он отображает ошибки внутри и возвращает с 0. Например:

sending incremental file list
rsync: link_stat "/data/users/gary/testdi" failed: No such file or directory (2)

sent 18 bytes  received 12 bytes  60.00 bytes/sec
total size is 0  speedup is 0.00 (DRY RUN)

rsync error: some files/attrs were not transferred (see previous errors) (code 23) at main.c(1039) [sender=3.0.6]

Кто-нибудь должен был анализировать ошибки rsync и предлагать, как сохранить состояние возврата rsync? Я считаю, что при передаче нескольких файлов эти ошибки могут быть подняты для каждого файла и собраны в конце, как показано на последней строке вышеприведенного кода.

4b9b3361

Ответ 1

На странице "человек" rsync здесь приведены коды ошибок, которые он может вернуть и что они означают. Если вы создаете скрипт в bash, вы можете посмотреть $?

 0     Success
 1     Syntax or usage error
 2     Protocol incompatibility
 3     Errors selecting input/output files, dirs
 4     Requested action not supported: an attempt was made to manipulate 64-bit
       files on a platform that cannot support them; or an option was specified
       that is supported by the client and not by the server.
 5     Error starting client-server protocol
 6     Daemon unable to append to log-file
10     Error in socket I/O
11     Error in file I/O
12     Error in rsync protocol data stream
13     Errors with program diagnostics
14     Error in IPC code
20     Received SIGUSR1 or SIGINT
21     Some error returned by waitpid()
22     Error allocating core memory buffers
23     Partial transfer due to error
24     Partial transfer due to vanished source files
25     The --max-delete limit stopped deletions
30     Timeout in data send/receive
35     Timeout waiting for daemon connection

Я никогда не видел исчерпывающий список "наиболее распространенных ошибок", но я уверен, что код ошибки 1 будет наверху.