rsync命令排除文件和文件夹(exclude-from)

假设最开始的命令是这样的 
rsync -e 'ssh -p 30000' -avl --delete --stats --progress demo@123.45.67.890:/home/demo /backup/ 

一、排除单独的文件夹和文件 

要排除sources文件夹,我们可以添加 '--exclude' 选项: 

--exclude 'sources' 

命令是这样的: 
rsync -e 'ssh -p 30000' -avl --delete --stats --progress --exclude 'sources' demo@123.45.67.890:/home/demo /backup/ 

要排除 "public_html" 文件夹下的 "database.txt" 文件: 

--exclude 'public_html/database.txt' 

命令是这样的: 
rsync -e 'ssh -p 30000' -avl --delete --stats --progress --exclude 'sources' --exclude 'public_html/database.txt' demo@123.45.67.890:/home/demo /backup/ 

二、使用 '--exclude-from' 排除多个文件夹和文件 

建立文件: 
/home/backup/exclude.txt 

在里面定义要排除的文件夹和文件 
sources 
public_html/database.* 
downloads/test/* 

经过测试一般 
文件夹 
uploads 
download/softs/ 

使用指令: 
--exclude-from '/home/backup/exclude.txt' 

最后的命令如下: 
rsync -e 'ssh -p 30000' -avl --delete --stats --progress --exclude-from '/home/backup/exclude.txt' demo@123.45.67.890:/home/demo /backup/

rsync如何实现同步目标路径下的目录,不同步路径下的文件 ,只想同步目录  

.代码如下:

rsync -av --delete -f '+ */' -f '- *' SRC/ DEST/ 
rsync命令中的--exclude选项用于排除指定的文件文件夹,使其在同步过程中不被复制。通过使用--exclude选项,可以提高同步过程的效率。在给定的引用中提到了通过rsyncexclude-from选项来实现排除。这样可以在一个单独的文件中列出要排除文件文件夹,以便灵活地管理需要排除的内容。 在引用中,给出了一个示例命令,仅同步名为a的目录,并排除其他文件文件夹。通过使用--include选项,指定要包含的目录,然后使用--exclude选项,排除除了指定目录之外的所有内容。 在引用中,给出了一个示例命令,仅同步名为a的目录下的a.txt文件,并排除其他内容。同样使用了--include和--exclude选项,通过指定要包含的文件文件夹,然后排除其他内容。 在引用中,给出了一个示例命令,同步所有的a.txt文件。如果目标目录中没有该文件,则会全部同步。如果某个目录下已经存在该文件,则不会替换。同样使用了--include和--exclude选项,通过指定要包含的文件文件夹,然后排除其他内容。 总结来说,rsync命令中的--exclude选项可以用于排除指定的文件文件夹,以提高同步效率。可以通过在命令中使用--include选项来指定要包含的文件文件夹,然后使用--exclude选项来排除其他内容。这样可以根据需要灵活地管理同步过程中的内容。<span class="em">1</span><span class="em">2</span><span class="em">3</span><span class="em">4</span>
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值