拷贝其他服务器文件到本机

连接到远程服务器并遍历指定目录下的所有文件。它会找到名称以error.2023-03-23开头的文件,并将它们从服务器复制到本地计算机

需要用到依赖包:

        <dependency>
            <groupId>com.jcraft</groupId>
            <artifactId>jsch</artifactId>
            <version>0.1.55</version>
        </dependency>

代码如下

import java.io.*;
import java.util.*;
import com.jcraft.jsch.*;

public class CopyErrorFiles {
    public static void main(String[] args) {
        // 远程服务器的主机名或IP地址
        String hostname = "your_server_hostname";
        // 登录远程服务器的用户名
        String username = "your_username";
        // 登录远程服务器的密码
        String password = "your_password";
        // 远程文件的基本路径
        String remoteBasePath = "/home/hadoop/cdp-rm/error/";
        // 本地文件的基本路径
        String localBasePath = "/path/to/local/files/";
        // 要复制的文件名称前缀
        String filePrefix = "error.2023-03-23";

        try {
            // 创建JSch对象
            JSch jsch = new JSch();
            // 创建会话对象并连接到远程服务器
            Session session = jsch.getSession(username, hostname, 22);
            session.setPassword(password);
            session.setConfig("StrictHostKeyChecking", "no");
            session.connect();

            // 创建SFTP通道并连接到远程服务器
            ChannelSftp channel = (ChannelSftp)session.openChannel("sftp");
            channel.connect();

            // 列出远程目录下所有文件
            Vector<ChannelSftp.LsEntry> remoteFiles = channel.ls(remoteBasePath);

            // 遍历所有匹配的文件并复制到本地计算机
            for (ChannelSftp.LsEntry remoteFile : remoteFiles) {
                if (!remoteFile.getAttrs().isDir() && remoteFile.getFilename().startsWith(filePrefix)) {
                    String remoteFilePath = remoteBasePath + remoteFile.getFilename();
                    String localFilePath = localBasePath + remoteFile.getFilename();
                    // 复制远程文件到本地计算机
                    channel.get(remoteFilePath, localFilePath);
                    System.out.println("Copied " + remoteFilePath + " to " + localFilePath);
                }
            }

            // 断开SFTP通道和会话连接
            channel.disconnect();
            session.disconnect();

            System.out.println("All files copied successfully.");
        } catch (JSchException | SftpException e) {
            e.printStackTrace();
        }
    }
}
暂无评论

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇
下一篇