【问题标题】:Include specific file from exluding folder [closed]包括排除文件夹中的特定文件[关闭]
【发布时间】:2017-06-20 08:03:36
【问题描述】:

我正在使用 rsyn 将文件夹从源复制到目标

我可以成功使用排除

$  rsync -av --exclude='*/deploy/scb_pdm/*' --exclude='*/logs/*'  $COPY_SRC_DIR  $COPY_DEST_DIR
server-4.5.0/conf/wrapper.conf
server-4.5.0/deploy/
server-4.5.0/deploy/scb_pdm/
server-4.5.0/deploy/scb_pdm/director.properties
server-4.5.0/deploy/scb_pdm/ocollate_static.madconfig
server-4.5.0/lib/
server-4.5.0/lib/blue-marble-4.5.0.201511121524.jar

现在卡住了,怎么才能只排除

server-4.5.0/deploy/scb_pdm/ocollate_static.madconfig

【问题讨论】:

标签: linux bash sh rhel


【解决方案1】:

我将从 rsync 的一般用法开始排除目录。

为了实现这一点,您需要使用--exclude 标志。

rsync -arv --exclude cache/ your_src_dir/ your_dest_dir/

根据您的情况,这将排除 ocollate_static.madconfig 的特定文件。

rsync -arv --exclude='*/deploy/scb_pdm/ocollate_static.madconfig*' --exclude='*/logs/*'  $COPY_SRC_DIR  $COPY_DEST_DIR

您可以考虑使用另一个标志,即

--delete-excluded       also delete excluded files from dest dirs

另一种选择,同时排除多个文件和目录。

$ rsync -avz --exclude your_file1.txt --exclude dir3/file4.txt source/ destination/

有关在rsync 中使用排除的详细信息。

【讨论】:

  • 它有效。在这种情况下,如果我只想要“server-4.5.0/deploy/scb_pdm/director.properties”而不想要“ocollat​​e_static.madconfig”
  • 我尝试了相同的 "rsync -arv --include='/deploy/scb_pdm/director.properties' --exclude='/logs/ i>' $COPY_SRC_DIR $COPY_DEST_DIR"。但它奏效了:(
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-12-11
  • 2012-11-19
  • 1970-01-01
  • 1970-01-01
  • 2012-08-31
  • 2013-03-22
相关资源
最近更新 更多