Rsync dns 问题

Rsync dns 问题

最近,我使用多年的备份脚本开始出现问题。出现问题的部分归结为:

for DIR in "${BACKUP_DIRS[@]}"; do
    rsync --acls --archive --delete \
        --link-dest=${DIR} \
        --stats \
        --verbose \
        --rsh="ssh -o BatchMode=yes -i ${KEY}" \
        "${USER}"@${HOST}:"${DIR}" "${BACKUP_DIR}/"
done

现在我遇到的问题是,在列出的第一个(也是唯一第一个)目录中${BACKUP_DIRS[@]}rsync退出时出现错误:

ssh: Could not resolve hostname <host>: Name or service not known
rsync: connection unexpectedly closed (0 bytes received so far) [Receiver]
rsync error: unexplained error (code 255) at io.c(226) [Receiver=3.1.3]
An error occurred during backup of <dir>.

非常感谢任何关于如何解决此问题的线索。

答案1

正如 András Korn 所说,问题在于 DNS 解析器耗时太长。

通过在调用之前添加额外的 DNS 查找rsync,查询结果在rsync调用时会很快出来,因为查询结果已经被缓存了。

可以使用getenthostdig通过 ping 主机来强制进行 DNS 查找。

相关内容