rsync 拷贝的理解问题
问题:这两条命令的区别
rsync -av --delete --exclude-from="logs" /tmp/src_dir/* /tmp/dest_dir/rsync 工具会理解为 目录 /tmp/src_dir/下面的文件 需要备份拷贝到 /tmp/dest_dir/ ,所以他会把 file_a file_b file_c 拷贝到 /tmp/dest_dir/,并且会保留原来的file_d(因为你只是把文件备份到我这里而已)。
其中
src_dir/* 表示的是
src_dir/file_src2
src_dir/file_src
就相当于 rsync -av --delete --exclude-from="logs" /tmp/src_dir/file_a /tmp/src_dir/file_b /tmp/src_dir/file_c /tmp/dest_dir/
对比理解:
源目录:src_dir/
包含文件: file_a file_b file_c
目标目录dest_dir/
包含文件: file_d
rsync 中 过去后/tmp/dest_dir/:
/tmp/src_dir 表示 把该目录 拷贝过去 src_dir file_d
/tmp/src_dir/ 表示 把该目录下的所有文件完全镜像 拷贝过去 file_a file_b file_c
/tmp/src_dir/* 表示 把该目录下的所有文件 拷贝过去 file_a file_b file_c file_d