如果要排除/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