如何使用 rsync 迁移隐藏文件

如何使用 rsync 迁移隐藏文件

我在目标服务器中使用以下命令:

rsync -ab myuser@sourcehost:/source_dir/* target_dir

但是这无法同步现有的 source_dir 中的隐藏文件,我需要使用任何东西--include才能迁移隐藏文件。

但是由于我在脚本中使用此命令,因此该包含选项不应影响正常文件的迁移。

我应该怎么办?

答案1

问题不是出在rsync,而是出在外壳。

通常在 Ubuntu 中,dotglob是禁用的,这意味着以 开头的文件.将被排除在*扩展之外。

您可以将其打开以运行。

shopt -s dotglob

然后你的命令应该可以工作(我想你只是错过了-e ssh

dotglob使用后取消设置是明智的:

shopt -u dotglob

或者,您可以简单地rsync将文件夹内容复制到target_dir,其中包括隐藏文件:

rsync --ab -e ssh myuser@sourcehost:/source_dir/ target_dir

相关内容