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

简介: 假设最开始的命令是这样的 rsync -e 'ssh -p 30000' -avl --delete --stats --progress demo@123.
假设最开始的命令是这样的 
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/ 
目录
相关文章
|
5月前
logrotate配置通配符对多个目录及其子目录文件进行切割
logrotate配置通配符对多个目录及其子目录文件进行切割
|
网络安全
tar排除文件和目录的用法
tar czvf /tmp/bak.tar.gz \ --exclude 'download/*' \ --exclude .ssh \ --exclude .bashrc \ . 使用--exclude可以排除文件和目录。
3898 0
|
存储 Linux 网络安全
系统目录结构/ls命令/文件类型/alias命令
2.1/2.2 系统目录结构 2.3 ls命令 2.4 文件类型 2.5 alias命令 linux文件目录结构 linux文件结构 / 系统跟目录 root  root用户主目录,存放启动linux系统的核心文件,如操作系统的内核、引导程序grub等 home 普通用户主目录 bin 存放系统启动时需要执行的二进制文件,普通用户使用的命令。
1319 0
tar命令打包时排除指定目录、指定文件
排除指定目录:--exclude=base_dir/sub_dir 注意:目录后面不要加斜杠 "/" 排除指定文件:--exclude *.jpg 示例如下: tar zcvf data.
2262 0
|
Shell 网络安全 数据安全/隐私保护