惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

aimingoo的专栏
aimingoo的专栏
Y
Y Combinator Blog
云风的 BLOG
云风的 BLOG
Microsoft Azure Blog
Microsoft Azure Blog
腾讯CDC
T
The Blog of Author Tim Ferriss
P
Proofpoint News Feed
Hugging Face - Blog
Hugging Face - Blog
博客园_首页
小众软件
小众软件
美团技术团队
Martin Fowler
Martin Fowler
爱范儿
爱范儿
有赞技术团队
有赞技术团队
博客园 - 【当耐特】
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
Microsoft Security Blog
Microsoft Security Blog
宝玉的分享
宝玉的分享
J
Java Code Geeks
B
Blog
V
V2EX
Stack Overflow Blog
Stack Overflow Blog
B
Blog RSS Feed
博客园 - Franky

Allen Hua 的网络博客

由于 Linux 桌面没有一个好用的天气程序就写了一个跨平台的CheckitoutWeather 给 caesium-image-compressor 图片压缩程序构建了 Linux AppImage v2.8.5 最新版 debian13(debian trixie)安装了nvidia闭源驱动后从x11切换到wayland的方法 山间摩旅追风,偶遇一场绚烂晚霞 最近使用debian系统的一些心得 机械革命无界14Pro笔记本debian forky成功驱动内置扬声器和麦克风 记录 typecho 1.2.0 升级到 1.3.0 过程 开发了一款openwrt插件:文本剪贴板 解决机械革命笔记本内屏高刷240Hz闪屏问题 使用 Java 写了一个局域网端口扫描器 - Allen Hua 的网络博客 openwrt使用外置根extroot机制扩展根分区大小 - Allen Hua 的网络博客 将机场ss节点批量转换成ss字符串链接批量添加到passwall - Allen Hua 的网络博客 给机械革命钛钽plus换屏:NY2换成NZ2 - Allen Hua 的网络博客 记录一次pve宿主机和上面的debian虚机无故down机事件 - Allen Hua 的网络博客 给图床部署cdn腾讯云的edgeone并排查Cache-Control max-age 3600的问题 - Allen Hua 的网络博客 从高山草甸到徽派古村:武功山反穿与皖浙赣自驾行记 - Allen Hua 的网络博客 增程器就是充电宝?别被忽悠了 - Allen Hua 的网络博客 浦口龙虎巷扫街,记录人间真实 博客图片压缩方案更新|AVIF|WebP|MozJPEG|标准JPEG Windows 电脑使用 Obs Studio 录制各个网站视频/桌面画面教程 为typecho博客添加latex支持 新能源汽车之纯电车使用交流慢充和直流快充的充电损耗对比 2025年3月更新全国5A景区名录 2025最新查看小米/红米手机电池健康度和循环次数方法 完美解决 seafile FILE_SERVER_ROOT 配置导致的内网外网不能同时访问和上传下载的问题 纯css实现typecho博客文章文字spoiler剧透效果 我对Typecho Facile主题的一些修改,图片懒加载优化,样式定制 2024年8月我的宜昌 - 重庆 - 川西小环线自驾旅行分享 2022年打卡南京市区人防工程纳凉点 2024年带着A7C2+腾龙28-200 再次来到红山森林动物园
openwrt通过opkg安装rsync | rsync基本用法介绍教程
Allen Hua · 2021-06-12 · via Allen Hua 的网络博客
阅读量:5765

warning: 这篇文章距离上次修改已过1747天,其中的内容可能已经有所变动。

安装

rsync 是 remote sync 的意思,本文讨论的使用场景还是在本地拷贝文件,用来替代 cp 和 mv。如果需要通过 rsync 同步其他服务器中的文件,请看文末的引用文章。

rsync - 3.2.3-3 - rsync is a program that allows files to be copied to and from remote machines in much the same way as rcp. It has many more options than rcp, and uses the rsync remote-update protocol to greatly speed up file transfers when the destination file already exists. The rsync remote-update protocol allows rsync to transfer just the differences between two sets of files across the network link.

安装的 3.2.3-3 版本。

opkg install rsync

报错,提示有依赖问题。

root@dkRouter:~# opkg install rsync
Installing rsync (3.2.3-3) to root...
Downloading https://openwrt.proxy.ustclug.org/snapshots/packages/x86_64/packages/rsync_3.2.3-3_x86_64.ipk
Installing libpopt0 (1.16-2) to root...
Downloading https://openwrt.proxy.ustclug.org/snapshots/packages/x86_64/base/libpopt0_1.16-2_x86_64.ipk
Collected errors:
 * check_data_file_clashes: Package libpopt0 wants to install file /usr/lib/libpopt.so.0
    But that file is already provided by package  * libpopt
 * check_data_file_clashes: Package libpopt0 wants to install file /usr/lib/libpopt.so.0.0.0
    But that file is already provided by package  * libpopt
 * opkg_install_cmd: Cannot install package rsync.

我们在安装时增加 --nodeps flag(代表Do not follow dependencies,不跟踪依赖),再次尝试安装。

root@dkRouter:~# opkg install rsync --nodeps
Installing rsync (3.2.3-3) to root...
Downloading https://openwrt.proxy.ustclug.org/snapshots/packages/x86_64/packages/rsync_3.2.3-3_x86_64.ipk
Configuring rsync.

成功安装。

使用基本教程

rsync 基本用法:rsync -r /file/source/path /file/destination/path

root@dkRouter:~# rsync -anv /root/rsync.log /home/dk/
sending incremental file list
rsync.log

sent 66 bytes  received 19 bytes  170.00 bytes/sec
total size is 2,168  speedup is 25.51 (DRY RUN)
  • -a 参数是比-r 参数更合理、更建议使用的参数,能够复制原始文件的元信息(比如拥有者、创建时间、最近一次修改时间等),-r只能递归复制
  • -n 是测试,执行后这条复制命令不会被真的执行,相当于一次演示
  • -v,啰嗦模式输出,输出相关日志

平常使用的建议使用 -av 参数。

另外需要注意的是,rsync 默认拷贝以点开头的隐藏文件(比如/root/.bashrc这样子的文件),如果不需要拷贝隐藏文件需要使用--exclude 参数排除掉

可以在命令后面跟上 --exclude=".*"

另外还有一点比较值得注意,同步文件时,假如source是一个文件夹,那么最后一个文件夹带不带斜杠在同步到目标路径后会有一些区别。

情形1: rsync -a /file/source/path1 /file/destination/path2

情形1中,最终在path2中形成的文件夹结构是 /file/destination/path2/path1

情形2: rsync -a /file/source/path1/ /file/destination/path2

情形2中,最终将 path1 文件夹里面的所有文件都拷贝到了 path2中。形成的文件夹结构就是 /file/destination/path2

高阶用法

感谢阮一峰老师的 rsync 用法教程

end.