Centos Linux带进度条复制(同步)文件和文件夹

centos linux 内建文件复制/备份命令

rsync

目的:我想从一个磁盘复制一堆文件到另一个磁盘,不希望改变文件的属性(尤其是所有者、还有创建时间、修改时间),最好还得能给我显示进度条。文件太多了,好几百GB。

命令(酌情,没有备份需求不推荐这个方法):rsync -avp --info=progress2 source destination

这里有个问题,就是复制速度太慢了,后面给出解决方案

source 源文件或文件夹

destination 目标文件夹路径

但是,出现了一个问题,raid1下希捷银河硬盘我做测试文件的时候,连续写入速度都在370MB/s,用它复制的时候,只有70MB/s,慢了好几倍。

用-W参数可以让rsync忽略校验,直接复制整个文件。目前要的不是同步功能,所以我不需要它校验。

命令改为:

rsync -avPW source destination

我实测:

rsync -avW --info=progress2 source destination

rsync -avW --info=progress source destination

rsync -avPW source destination

都能显示详细的进度信息(包括文件复制速度、文件数量)

但是,rsync,复制速度就是比cp慢。慢一半,我指的是本地复制,网上的资料都是以加密、网络等环境来说明的。并且实测截止到2023年7月底没有任何资料表明本地备份能明显达到硬盘正常读写速度的复制备份。

试了scp,和cp差不多,但是依然进度显示我不喜欢。结合网上给出的现有办法,给出一个既能保证复制速度,又能实时知道复制进度的办法,还几乎不影响性能。建议看我另一篇文章。

参数 描述

-a 归档模式,等同于-rlptgoD (但不带-H,-A,-X)

-H 保留硬链接

-A 保留 ACLs (包含了 --perms)

-X 保留扩展属性

-l 保留软连接

-h 输出便于人类阅读格式的数字

--progress 显示进度 每个文件的进度,相当于-P;3.1版本后可以显示总进度,之前的版本使用--info=progress2来显示总进度

-g 保留原有组

--group 保留原有组

--devices 保留原有设备(仅超级用户)

--specials 保留特殊文件

-D 等同于 --devices --specials,相当于块设备文件

-o 保留文件所有者

-p 保留文件权限

-P 显示进度

-r 递归目录复制

-R 使用相对目录

-t 保留文件修改时间

-u 更新模式,如果目标位置有同名文件并且目标位置文件比源文件更新,则跳过当前文件

-v, --verbose 详细输出

--info=FLAGS 输出详细信息

-z 在传输期间压缩数据

-W 传输整个文件(而不校验)

相关推荐
深圳安锐科技有限公司13 小时前
边坡倾斜自动化监测 倾角仪 如何通过安锐云查看监测曲线?
运维·视觉检测·实时监测·自动化监测·结构健康监测·倾斜角度监测·倾角传感器
咕噜企业分发小米15 小时前
有哪些开源的直播云服务器安全防护方案?
运维·服务器·云计算
C_心欲无痕15 小时前
nginx - 开启 gzip 压缩
运维·前端·nginx
王阿巴和王咕噜15 小时前
【WSL】安装并配置适用于Linux的Windows子系统(WSL)
linux·运维·windows
布史15 小时前
Tailscale虚拟私有网络指南
linux·网络
水天需01016 小时前
shift 命令详解
linux
wdfk_prog16 小时前
[Linux]学习笔记系列 -- 内核支持与数据
linux·笔记·学习
Xの哲學16 小时前
深入剖析Linux文件系统数据结构实现机制
linux·运维·网络·数据结构·算法
深圳市恒讯科技16 小时前
Linux 文件权限指南:chmod 755、644、drwxr-xr-x 解析
linux·服务器·xr
Wpa.wk17 小时前
性能测试工具 - JMeter工具组件介绍二
运维·经验分享·测试工具·jmeter·自动化·json