MinIO服务器文件复制(Windows环境Linux环境)

ops/2024/12/29 1:09:10/

一、下载

Windows环境:https://dl.min.io/server/minio/release/windows-amd64/minio.exe

Linux环境:

> curl https://dl.min.io/client/mc/release/linux-amd64/mc \ 
--create-dirs \ 
-o $HOME/minio/mc > chmod +x $HOME/minio/mc > export PATH=$PATH:$HOME/minio/

二、准备好MinIO服务器需要复制的完整文件路径,以及配置需要复制的目标文件完整路径

(注意:需要指定MinIO连接服务的别名,通过命令:mc alias set myMinio [host] [user] [password] 来指定),此处 别名就是 myMinio

mc 复制文件语法:

./mc cp [source full path] [target full path]

示例文件(本文批处理文件如下),如创建文件 /tmp/mini_cp.txt,内容如下:

myMinio/srcBucket/1.png        myMinio/targetBucket/1.png 

myMinio/srcBucket/2.png        myMinio/targetBucket/2.png 

myMinio/srcBucket/3.png        myMinio/targetBucket/3.png 

三、创建MC shell脚本

1.Windows环境

@echo off
CHCP 65001
cd /d "%~dp0"
::Local MinIO
::set filename=E:\tmp\localToCopyFileList.txt
::set minioapiurl=http://127.0.0.1:9001
::set user=admin
::set pwd=minioadmin%cd%\bin\mc.exe alias set myminio %minioapiurl% %user% %pwd%
echo 待复制文件列表路径:%filename%set /a count=0;setlocal enabledelayedexpansion
for /f "tokens=*" %%a in (%filename%) do (set /a count+=1echo Coping No.!count! file:%%a%cd%\bin\mc.exe cp %%a
)
echo 本次共复制文件:!count!个!
@echo pause

2.Linux环境

chmod +x mccp.sh
#!/bin/bash# minio S3服务地址
minio_host="http://127.0.0.1:9001"
user="admin"
passwd="minioadmin"filename="${1}"if [ ! "${filename}" ]; thenecho "请在命令行后指定完整文件路径!"exit 1
fiif [ ! -f "${filename}" ]; thenecho "文件路径不存在: ${filename}!"exit 1
fi# 设置minio服务连接别名
./mc alias set cminio ${minio_host} ${user} ${passwd}
while IFS= read -r line; doecho "正在读取行: ${line}"# 执行复制操作,line的格式必须是:cminio/ + 完整minio服务器文件路径(包含bucket)./mc cp ${line}
done < "${filename}"

执行脚本 mccp.sh 或 mccp.bat


http://www.ppmy.cn/ops/145788.html

相关文章

14: curl#6 - “Could not resolve host: mirrorlist.centos.org; 未知的错误“

出现这个错误是因为使用的 CentOS 7 仓库已经被归档&#xff0c;当前的镜像地址无法找到所需的文件。CentOS 7 的官方支持已经结束&#xff0c;部分仓库已被移至归档库。这导致了你的 yum 命令无法找到所需的元数据文件。CentOS 7 的官方仓库在 2024 年 6 月 30 日之后已经停止…

跨域问题解决

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 文章目录 前言原理介绍&#xff1a;1.CrossOrigin注解2.实现WebMvcConfigurer接口3.使用过滤器4.vue代理服务器总结 前言 跨域问题由浏览器的同源策略引起&#xff0c;浏览器…

Ruby 数据库访问 - DBI 教程

Ruby 数据库访问 - DBI 教程 介绍 DBI&#xff08;Database Interface&#xff09;是Ruby语言中用于访问数据库的模块。它提供了一个统一的接口&#xff0c;允许Ruby程序与各种数据库进行交互。DBI的设计哲学是简洁和灵活&#xff0c;使得开发者能够轻松地编写数据库访问代码…

微信小程序打印生产环境日志

微信小程序打印生产环境日志 新建一个log.js文件&#xff0c;写入以下代码&#xff1a; let log wx.getRealtimeLogManager ? wx.getRealtimeLogManager() : nullmodule.exports {debug() {if (!log) returnlog.debug.apply(log, arguments)},info() {if (!log) returnlog.i…

探索寄存器读写函数:writeb, writew, writel 与 readb, readw, readl

本章目录 函数介绍读寄存器函数写寄存器函数 示例代码总结 在嵌入式系统开发中&#xff0c;与硬件直接交互是常见的需求。为了实现对硬件寄存器的读写操作&#xff0c;开发者通常会使用一些特定的函数。这些函数允许我们以字节、半字&#xff08;2字节&#xff09;或字&#xf…

Animated Drawings:让纸上的角色动起来

前言 今天介绍的这个工具非常的有意思&#xff1a;它可以让我们在纸上绘画的角色动起来。先一起来看看效果&#xff1a; 准备 首先&#xff0c;我们先准备一张绘画。可以在纸上进行绘制&#xff0c;也可以在电子设备上进行绘制。绘制内容不限&#xff0c;在这里为了方便演示&am…

(补)算法刷题Day24: BM61 矩阵最长递增路径

题目链接 思路 方法一&#xff1a;dfs暴力回溯 使用原始used数组4个方向遍历框架 &#xff0c; 全局添加一个最大值判断最大的路径长度。 方法二&#xff1a;加上dp数组记忆的优雅回溯 抛弃掉used数组&#xff0c;使用dp数组来记忆遍历过的节点的最长递增路径长度。每遍历到已…

怎么学习数据结构与算法?

数据结构与算法 提及数据结构与算法&#xff0c;许多人可能会不自觉地皱起眉头。似乎在不知不觉中&#xff0c;以字节跳动为代表的一批公司&#xff0c;在面试环节开始了一场针对算法的连环盘问。若非事先系统地刷过一系列算法题目&#xff0c;想要轻松通过这一关&#xff0c;…