Я пишу скрипт, который делает ежедневные снимки домашних каталогов пользователей. Сначала я делаю всухую с помощью:Всесторонний список кодов ошибок rsync
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? Я считаю, что при передаче нескольких файлов эти ошибки могут быть подняты для каждого файла и собраны в конце, как показано на последней строке вышеприведенного кода.
Я не понимал, что на странице руководства был этот список! Спасибо iandouglas. Кстати, я разбираю его на Python. Вы случайно не знаете, что такое пифонический эквивалент «$?»? – seebiscuit
Да, если вы используете subprocess.call, проверьте эту страницу: http://www.python.org/doc//current/library/subprocess.html#replacing-os-system nutshell: 'return_code = subprocess .call (...) ' – iandouglas
Я заметил, что' rsync' смешно в возвращении кодов ошибок в оболочку. Например, я подал ему неправильный исходный каталог и внутренне «rsync» сообщил о двух ошибках: «rsync: link_stat»/data/users/gary/testdi «не удалось: нет такого файла или каталога (2)» и «rsync error: some файлы/attrs не были перенесены (см. предыдущие ошибки) (код 23) в main.c (1039) [sender = 3.0.6] '. Тем не менее, печать $? в оболочке сразу после того, как звонок вернулся 0. – seebiscuit