Linux 大目录拷贝

2022 年 10 月 25 日
 byte404

现在有个服务运行的时候会实时产生大量细碎文件,我需要在不停服务的情况把它的所有数据拷贝到另一个磁盘;有什么办法能够在不影响服务的情况下完整同步它的所有文件呢,以前一直用的 rsync ,但从来没有在这个场景里试过。文件系统是 xfs ,需要拷贝的数据大概在 2T 左右 。

5435 次点击
所在节点    Linux
34 条回复
novolunt
2022 年 10 月 25 日
@ursus1024 对,使用 Facebook 开源压缩程序 zstd
同步到服务器
zstd -14 -T0 -r /opt -c | ssh $slave "cat > pkg_file. tgz "
同步到微软云 blob
zstd -14 -T0 -r /opt -c | azcopy copy --from-to PipeBlob "https://myaccountname.blob.core.windows.net/inputs/input.fastq.gz" #input.fastq.gz 这里需要固定得文件名,PipeBlob 是固定的
julyclyde
2022 年 10 月 25 日
之前给一个服务器做数据备份
直接读它的日志,看哪些文件变化过,然后整理成列表给 rsync 用
lvzhiqiang
2022 年 10 月 25 日
推荐用 lsync ,直接集成 文件变动通知。
Dragonish3600
2022 年 10 月 25 日
换成 zfs ,直接定期发送快照
madao2015
2022 年 10 月 25 日
rsync 挺快,应该有检查文件一致性的参数
defunct9
2022 年 10 月 25 日
lsync ,这个是王道。但是小心它的语法,跟 rsync 有区别
MrKrabs
2022 年 10 月 25 日
你数据一直在变怎么定义“完整同步”?
byte404
2022 年 10 月 25 日
@MrKrabs 你猜楼上给出解决方案的老哥们怎么定义的?
byte404
2022 年 10 月 25 日
@defunct9 正在用了,还没拷完,后面看看效果。
calvey
2022 年 10 月 25 日
lsyncd
yyttrr
2022 年 10 月 26 日
塞进 docker 里面准备两套启动命令,相同的镜像,不同的端口,不同的持久化目录。
运行第一个启动命令,产生文件,过一段时间之后,停止第一个容器,运行第二个启动命令。这时拷贝第一个产生的文件,重复执行
msg7086
2022 年 10 月 26 日
btrfs snapshot (或者 zfs ),先暂停,然后快照,然后继续跑。快照里的你慢慢 rsync ,跑完释放掉。
yanqiyu
2022 年 10 月 27 日
btrfs 创建一致快照再 send 出去
liuliancao
2022 年 11 月 5 日
啥文件 啥服务 文件内容啥 其实也可以考虑利用起来 比如接个 filebeat 吐出来

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://v2ex.xtra.eu.org/t/889579

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX