从 minio的各个桶中将想要的数据打包迁移(随手笔记)

数据迁移与文件打包压缩技术详解

1.通过数据库或其他方式将想要迁移的数据路径拼接放到一个文件中,如mndp

拼接sql如:

select '/data/miniodata' || tag || '/' || file_path from schema.table

 

其中:tag 和 file_path为我数据库中的两个字段,分别存储着文件夹名称和文件名称

2.将文件的全路径存储到一个文件中 mndp

如: echo "/data/miniodata/atou/look/file.png" > ./mndp


3.通过awk命令,将文件中的文件及路径遍历,然后通过tar将输出的内容分别打入一个压缩包

#如果文件中存在特殊符号需处理在打包

awk '{gsub(/\t/ , ""); print $0}' mndp | tar -cf mndp.tar --files-from=/dev/stdin

 

tar -cf mndp.tar --files-from=./mndp (文件路径)

 

 

其中:gsub函数在提供的记录(即行)中搜索与正则表达式匹配的子串,并将其替换为指定的字符串。

 

  1. awk命令逐行读取mndp文件。
  2. 对于每一行,gsub(/\t/ , "")函数会删除所有制表符(\t)。
  3. print $0打印修改后的行。
  4. 然后,这些修改后的行通过管道传递给tar命令。
  5. tar命令使用-cf选项创建一个名为mndp.tar的归档文件。
  6. --files-from=/dev/stdin选项告诉tar命令从标准输入(即awk命令的输出)中读取要归档的文件列表。

4.将打包文件拷贝到目标服务器,解压即可!(需注意不要覆盖原有的minio数据)

tar -xf mndp.tar -C /test

 

98. 其他命令备注

awk -F '/' '{ for (i=1;i<NF;++) printf("%s", $i); print "" }' mnd > mndp

#将mnd文件中的文件夹路径截取出来

mnd文件格式:/data/miniodata/20241010/1/test.png

mndp文件格式:/data/miniodata/20241010/1/

 

99.批量创建文件夹

awk '{command = "mkdir -p " $0 ; system(command)}'  ./mndp

 

#将mndp文件中的文件夹路径逐个创建出来

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值