如果要排除/home/data目录下面的a、b、c、三个目录,同时拷贝其它所有目录,执行rsync命令
yum install rsync -y #安装rsync

排除单个文件/目录
rsync -avP --exclude=del_file source_dir dest_dir
注意:--exclude后面的路径不能为绝对路径,必须为相对路径才可以,否则出错。

排除多个文件/目录
rsync -avP --exclude={del_file1, del_file2, ...} source_dir dest_dir

注解:

rsync命令是一个远程数据同步工具,可通过LAN/WAN快速同步多台主机间的文件。-a参数表示archive模式,-v表示详细链模式输出,-z表示传输文件时使用压缩传输的模式。

-a : 包含-rtplgoD
-r : 同步目录时要加上,类似cp时的-r选项
-v : 同步时显示一些信息,让我们知道同步的过程
-P : 显示同步过程,比如速率,比-v更加详细
-l : 保留软连接
-L : 加上该选项后,同步软链接时会把源文件给同步
-p : 保持文件的权限属性
-o : 保持文件的属主
-g : 保持文件的属组
-D : 保持设备文件信息
-t : 保持文件的时间属性
--delete : 删除DEST中SRC没有的文件
--exclude : 过滤指定文件,如--exclude “logs”会把文件名包含logs的文件或者目录过滤掉,不同步
-u : 加上该选项后,如果DEST中的文件比SRC新,则不同步
-z : 传输时压缩


链接:https://www.jianshu.com/p/bf9eba9f4e97

示例:

cd /opt/shence_data/800006/ 
rsync -avP --exclude={service_log.2022-06-30, service_log.2022-06-15} /opt/shence_data/800006/ /opt/shence_data_bak/

 

Linux中移动,复制,删除,打包排除某个目录或文件
移动,复制,删除排除某个文件或目录
cp !(file1|dir2) /data/ 复制文件到/data/,排除file1和dir2
mv !(file1|dir2) /data/ 移动文件到/data/,排除file1和dir2
rm -rf !(file1|dir2) ./ 删除当前目录下的文件,排除file1和dir2
tar打包排除某个目录或文件
使用--exclude选项,格式与示例如下
格式:
tar -zcvf xxx.tar.gz dir --exclude=dir1 --exclude=file2 打包dir目录,排除dir1目录与file2文件
示例:
tar zcvf example.tar.gz ./ --exclude=test --exclude=test.txt 打包当前目录,排除test目录与test.txt文件
注意:
--exclude=dir 而不是 --exclude=dir/
--exclude=test.txt 而不是 --exclude test.txt

 

posted on 2022-07-04 17:14  小油2018  阅读(2550)  评论(0编辑  收藏  举报