linux - Lista completa de códigos de error rsync
error-code (1)
Estoy escribiendo un script que hace instantáneas diarias de los directorios personales de los usuarios. Primero hago una carrera en seco usando:
rsync -azvrn --out-format="%M %f" source/dir dest/dir
y luego la operación real rsync (eliminando la opción -n
).
Estoy tratando de analizar la salida de la carrera en seco. Específicamente, estoy interesado en conocer la causa exacta del error rsync (si se produjo uno). ¿Alguien sabe de
- ¿Los errores rsync más comunes y sus códigos?
- ¿Un enlace a una página de códigos de error rsync completa?
Lo más importante es que rsync (al menos en CentOs 5) no devuelve un código de error. Más bien muestra los errores internamente y regresa con 0. Como así:
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]
¿Alguien ha tenido que analizar los errores de rsync y tener una sugerencia sobre cómo almacenar los estados de retorno de rsync? Creo que, cuando se transfieren varios archivos, los errores pueden surgir por archivo y se recopilan al final como se muestra en la última línea de código anterior.
Por la página de rsync "man", aquí están los códigos de error que podrían devolver y lo que significan. Si lo haces en bash, podrías mirar $?
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
Nunca he visto una lista completa de "errores más comunes", pero estoy apostando que el código de error 1 estaría en la parte superior.