Rsync exit codes

From lxadm | Linux administration tips, tutorials, HOWTOs and articles
Jump to: navigation, search

List of standard rsync exit codes[edit]

This is a list of rsync exit codes (rsync status codes / rsync error codes / rsync exit values).

       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


Exit code 127[edit]

If you're seeing exit code 127 after running rsync (i.e. in a script), it can mean you don't even have rsync binary installed on your system.


Exit code 255[edit]

If you're seeing exit code 255 after running rsync, it can mean rsync just passed exit code from a command it used to connect - typically SSH.

$ rsync -a /etc/service none@nonexisting.example.com:
ssh: Could not resolve hostname nonexisting.example.com: Name or service not known
rsync: connection unexpectedly closed (0 bytes received so far) [sender]
rsync error: unexplained error (code 255) at io.c(226) [sender=3.1.1]

$ echo $?
255

This would be essentially the same failure as SSH connecting:

$ ssh none@nonexisting.example.com
ssh: Could not resolve hostname nonexisting.example.com: Name or service not known

$ echo $?
255


Exit code on Linux / UNIX[edit]

To check rsync exit code on Linux / UNIX (or in fact, any other command), run this one just after rsync command:

echo $?


Exit code on Windows[edit]

  • to check rsync exit code on Windows, run this one just after rsync command:
echo Exit Code is %errorlevel%
  • or - to capture just exit code 1:
if errorlevel 1 (
   echo rsync exit code is is %errorlevel% - Syntax or usage error
   exit /b %errorlevel%
)


  • in PowerShell, you can also use:
echo Exit Code is $LastExitCode


Error code 11 on Windows[edit]

Error code 11 can be confusing when rsync is started as a service on a Windows platform. It can mean that the pid file for rsync already exists in the C:\Program Files\cwRsyncServer folder (or ony other directory where rsync is installed) - although no other info will be given in Windows Event Log. It will become more apparent only if rsync is started as a service from the command line.