rsync 隐秘失败

rsync 隐秘失败

我正在尝试使用 rsync 使远程目录与我的本地版本相同,所以我做了类似的事情(将下面的“我的”内容适当替换)

rsync -avhe 'ssh -p 7822' --progress --delete  \
    /mylocaldir myusername@myremotehost:~/myremotedir`

该命令的输出显示警告但没有错误消息:

perl: warning: Setting locale failed.
perl: warning: Please check that your locale settings:
    LANGUAGE = (unset),
    LC_ALL = (unset),
    LC_NUMERIC = "c",
    LANG = "fr_FR.UTF-8"
    are supported and installed on your system.
perl: warning: Falling back to the standard locale ("C").
building file list ... 
70 files to consider
Online/index.html
         582 100%    0.00kB/s    0:00:00 (xfer#1, to-check=67/70)

sent 2.28K bytes  received 48 bytes  665.71 bytes/sec
total size is 919.11K  speedup is 394.47

但是当我检查远程目录时,没有任何更新。我试了几次。这里发生了什么事?任何帮助表示赞赏。

更新,回答下面的第一条评论:这是我的 /etc/profile 文件的内容:

# System-wide .profile for sh(1)

if [ -x /usr/libexec/path_helper ]; then
    eval `/usr/libexec/path_helper -s`
fi

if [ "${BASH-no}" != "no" ]; then
    [ -r /etc/bashrc ] && . /etc/bashrc
fi

答案1

rsync正在运行,因此区域设置错误消息并不重要。相反,我怀疑您的两个目录定义并不完全是您想要的,并且您可能在错误的位置查找文件。

你有一个来源/mylocaldir和一个目的地~/myremotedir。这将~/myremotedir/mylocaldir在目标上创建,这就是放置文件的位置。

如果您希望将内容/mylocaldir复制到,您需要在源目录中~/myremotedir提供尾随,如下所示:/

rsync -avh -e 'ssh -p 7822' --progress --delete \
    /mylocaldir/ myusername@myremotehost:myremotedir

注意,为了便于阅读,我已将命令分为两行。正如所写,它是有效的 shell 语法,但\如果您愿意,请删除第一行末尾的字符并将它们连接在一起。


有关区域设置的 Perl 错误消息将来自作为登录过程的一部分执行的某些程序。它可能是path_helper,它似乎是一个 MacOS 应用程序,所以我无法建议您注释掉它的重要性或其他方式,或者它可能是/etc/bashrc.

当然,另一种选择是在目标系统上安装法语区域设置文件,以便不再触发错误,而不是尝试识别有问题的应用程序。

相关内容