我在目标服务器中使用以下命令:
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