当前位置: 首页 > news >正文

winserver文件备份到minio

  1. winserver开启 WSMan
    PS C:\Users\Administrator> Enable-PSRemoting -Force
    PS C:\Users\Administrator> Set-Item WSMan:\localhost\Client\TrustedHosts -Value "192.168.,17.1.0." -Force
    PS C:\Users\Administrator> netsh advfirewall firewall add rule name="WinRM-HTTP" dir=in localport=5985 protocol=TCP action=allow

  2. pom


4.0.0

o.h
ywyt
1.0

<artifactId>ywyt-minio</artifactId><properties><maven.compiler.source>8</maven.compiler.source><maven.compiler.target>8</maven.compiler.target><project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
</properties><repositories><!-- 先用官方中央仓库 --><repository><id>central</id><url>https://repo.maven.apache.org/maven2</url></repository><!--        <repository>--><!--            <id>cloudsoft-releases</id>--><!--            <url>https://repository.cloudsoft.io/content/repositories/releases/</url>--><!--        </repository>--></repositories><dependencies><!-- https://mvnrepository.com/artifact/io.cloudsoft.windows/winrm4j --><dependency><groupId>io.cloudsoft.windows</groupId><artifactId>winrm4j</artifactId><version>0.12.3</version></dependency><!-- MinIO SDK -->
<dependency><groupId>io.minio</groupId><artifactId>minio</artifactId><version>8.5.10</version>
</dependency></dependencies>
  1. code
    package org.hf.ywyt_minio.demo;

import io.cloudsoft.winrm4j.client.WinRmClient;
import io.cloudsoft.winrm4j.winrm.WinRmTool;
import io.cloudsoft.winrm4j.winrm.WinRmToolResponse;
import io.minio.;
import io.minio.errors.
;
import io.minio.messages.Bucket;

import java.io.ByteArrayInputStream;
import java.io.IOException;
import java.security.InvalidKeyException;
import java.security.NoSuchAlgorithmException;
import java.util.Base64;

// 备份winserver关键文件到minio
public class t1 {

/* ========== 2. 上传到 MinIO ========== */
private static String endPoint  = "http://12.16.10.12:9000";
private static String accessKey = "HOscV0otja4iTy";
private static String secretKey = "7gJF4QfSKEmzHzQuCHhRWg5aWFP1Q";
private static String bucket    = "test1";
private static String objectKey = "t1.txt";public static void main(String[] args) throws Exception {String winIp      = "19.68.10.2";String winUser    = "adtor";String winPwd     = "t";String remoteFile = "d:\\ft\\t1.txt";          // WinServer 上的文件WinRmTool tool = WinRmTool.Builder.builder("http://" + winIp + ":5985/wsman",   // endpoint"",winUser,winPwd).build();String psCmd = String.format("$b=[System.IO.File]::ReadAllBytes('%s'); [Convert]::ToBase64String($b)","d:\\a.txt");WinRmToolResponse resp = tool.executePs(psCmd);String base64 = resp.getStdOut().trim();byte[] data = Base64.getDecoder().decode(base64);//System.out.println(data.toString());MinioClient minio = MinioClient.builder().endpoint(endPoint).credentials(accessKey, secretKey).build();boolean found = minio.bucketExists(BucketExistsArgs.builder().bucket(bucket).build());if (!found) {minio.makeBucket(MakeBucketArgs.builder().bucket(bucket).build());}minio.putObject(PutObjectArgs.builder().bucket(bucket).object(objectKey).stream(new ByteArrayInputStream(data), data.length, -1).contentType("text/plain")          // 按实际文件类型改.build());System.out.println("上传完成 → " + bucket + "/" + objectKey);minio.close();/* 上传本地文件MinioClient minio = MinioClient.builder().endpoint(endPoint).credentials(accessKey, secretKey).build();System.out.println(minio);if (minio.bucketExists(BucketExistsArgs.builder().bucket(bucket).build())) {System.out.println(bucket+"已存在");} else {minio.makeBucket(MakeBucketArgs.builder().bucket(bucket).build());}minio.uploadObject(UploadObjectArgs.builder().bucket(bucket).object(objectKey).filename("C:\\Users\\Administrator\\Desktop\\a1.html").contentType("text/html").build());System.out.println("上传完成 → " + bucket + "/" + objectKey);minio.close();*/}

}

http://www.rkmt.cn/news/22661.html

相关文章:

  • 教你把未分配的磁盘合并到C盘或者D盘?如何把未分配的硬盘空间分配到另一个磁盘?Windows 11,如何将未分配的磁盘分配给 C 盘?怎么把未分配的磁盘合并到d盘
  • 实用指南:VMware挂载Kail Linux
  • OpenCV基础操作与图像处理 - 指南
  • 2025年行业内游乐设施/过山车游乐设施权威榜单厂家-河北天鸿游乐设备
  • 机器学习技术助力美国西海岸地震预警系统升级
  • 2025年市场课桌椅/钢塑课桌椅最新TOP排名厂家-江西华聚智能家具集团有限公司
  • AT 随机做题 I
  • 画图3D真好用 - Gon
  • 高校与某中心共建机器人技术教育项目
  • WordPress维护模式完整指南:手动实现与插件方案
  • 原型链污染学习
  • 重新认识 Golang 中的 json 编解码
  • 关于价值原语与AI元人文构想的对话全记录——DeepSeek研究
  • Pytorch66页实验题
  • uni-app x开发商城系统,商品列表
  • PySimpleGUI 中有没有类似VB的timer组件
  • 向量空间与子空间
  • 西工大开源 Easy Turn:全双工轮次转换检测模型;百度 MuseSteamer 引入开放世界生成能力丨日报
  • 2025.10.16总结
  • containerd二进制安装
  • 维修笔记 | 一例滤波电容老化引发开关电源异常现象
  • (一)GPU与CUDA概述
  • 微软已停止对 Windows 10 系统的支持
  • 2023 ICPC Hefei
  • postgresql第一篇:postgresql收到一条sql语句后做了什么
  • Windows 事件ID + 登录类型 + 服务对应表大全
  • 10.16日学习笔记
  • 技术人不用当“兼职运营”:2025微信编辑器实用指南,让产品更新日志/API教程产出效率提升3倍
  • 10.16 —— 2021ccpc桂林D,B
  • 日志|二叉树|404左叶子之和|112路径总和|129求根节点到叶子节点数字之和|