rsync 取代 cp , 有进度状态也保存权限

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即可
vim .bashrc
写在最后一行

alias cpa="rsync -avP"

我这个是用cpa来代替的,你也可以写成任意的,之所以没替换cp,我是考虑到经常远程用惯了一个普通的就用不惯了,特意更改了一点点

上一篇
下一篇