rsync 无法解释的错误并收到 SIGINT、SIGTERM 或 SIGHUP

rsync 无法解释的错误并收到 SIGINT、SIGTERM 或 SIGHUP

我创建了一个批处理脚本来备份我们的服务器:

#!/bin/bash

user=$1

# create user dir
ssh [email protected] -p 5774  mkdir -p /var/backup/server.tst/incremental/$user

# backup mail dir
rsync -rvz --del --rsh='ssh -p5774' /home/$user/imap [email protected]:/var/backup/server.tst/incremental/$user 

cd /home/$user/domains
ls -1 | while read -r domain
do
        sh /etc/pxl/backup/domain.sh $user $domain
done

但是当我运行它时sh script.sh username它就挂起了。

一开始我得到了响应sending incremental file list,之后就不再响应了。当我按 ctrl-C(中止脚本)时,输出发生了变化:

sync error: unexplained error (code 130) at rsync.c(543) [sender=3.0.7]
sending incremental file list
public_html/gh.html
public_html/index.php
public_html/cgi-bin/.htaccess
public_html/... (and so on)

..但又挂了。当我再次按 ctrl-C 时,我得到:

rsync error: received SIGINT, SIGTERM, or SIGHUP (code 20) at rsync.c(543) [sender=3.0.7]

我在两边都安装了相同的版本(3.0.7,协议 30)。我已经读过主题,但这并不能解决我的问题。

有人知道这里出了什么问题吗?我该如何解决?提前谢谢您!

答案1

问题可能出在 rsync 删除接收方文件时出现问题。尝试 --ignore-errors 以查看是否存在这种情况。

答案2

尝试使用 -v(或 2)运行脚本。详细输出将显示停滞的位置/原因。此外,验证转义字符和绝对路径。它们是 rsync 停滞的相当常见的原因。

相关内容