0x00 常用示例
rsync -av 本地路径 远程路径
例如:
rsync -av /home/ivo/xxx.txt ibo@192.168.1.1:/backup/
这是把本地的xxx.txt这个文档,复制到使用rsync最快速删除海量文件的方法主机ivbo的/backup/路径下面。
1、先安装rsync:
yum install rsync
2、建立一个空的文件夹:
mkdir /tmp/test
3、技巧用rsync删除目标目录:
rsync --delete-before -a -H -v --progress --stats /tmp/test/ log/
这样我们要删除的log目录就会被清空了,删除的速度会非常快。rsync实际上用的是替换原理,处理数十万个文件也是秒删。 选项说明:
--delete-before
接收者在传输之前进行删除操作-progress
在传输时显示传输过程-a
归档模式,表示以递归方式传输文件,并保持所有文件属性-H
保持硬连接的文件-v
详细输出模式--stats
给出某些文件的传输状态
0x01 替代 cp
正常状态下的 cp 是没有进度条的,这在一定程度上会比较不方便,尤其是文件多的时候不知道什么的时候完成要等多久。为了解决这个问题找到了 rsync,rsync 是可以实现这个功能的。
示例
rsync -avP /源地址 /目标地址/
说明
rsync -avP /source/data /destination/
文件夹 data 复制到 /destination/data 下。
如果是:
rsync -avP /source/data/ /destination/
就会将 data/目录下的所有内容, 复制到 /destination/下! 和上面的区别仅仅是data后面的有没有/。
也就是用rsync -avP
代替cp
即可。
在 .bashrc
中添加别名,写在最后一行:
alias cpa="rsync -avP"
我这个是用cpa
来代替的,你也可以写成任意的,之所以没替换cp
,我是考虑到经常远程用惯了一个普通的就用不惯了,特意更改了一点点。