我正在尝试使用 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
.
当然,另一种选择是在目标系统上安装法语区域设置文件,以便不再触发错误,而不是尝试识别有问题的应用程序。