linux - rsync 错误代码的完整列表

标签 linux rsync error-code

<分区>

我正在编写一个脚本,每天为用户的主目录创建快照。首先,我使用以下方法进行空运行:

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

然后是实际的 rsync 操作(通过删除 -n 选项)。

我正在尝试解析试运行的输出。具体来说,我有兴趣了解 rsync 错误的确切原因(如果发生的话)。有谁知道

  1. 最常见的 rsync 错误及其代码?
  2. 综合 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 返回状态有建议?我相信,在传输多个文件时,可能会在每个文件的基础上引发错误,并在最后收集,如上面最后一行代码所示。

最佳答案

根据 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 会位于顶部。

关于linux - rsync 错误代码的完整列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20737204/

相关文章:

linux - Bash、Keys 和 rSync

cygwin + rsync

Android 应用内结算错误 : This item could no be purchased.(错误代码:IAB-DPTL)

android - cmd:命令失败,退出代码为 ENOENT

mysql - 错误代码 : 2013. 尽管时间未超过限制,但在查询期间失去了与 MySQL 服务器的连接

linux - 目录内的模式搜索

windows - mxmlc 在 linux 和 windows 下编译不同?

shell - rsync 排除一个目录但包含一个子目录

linux - 如何从脚本以非阻塞方式执行程序

linux - 如何编辑 PYTHONPATH?