1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 | #!/bin/bash # 指定 ftp 服务器的 i serverip=192.168.1.159 # 指定 ftp 服务器的 ftp 用户 ftpuser=ftptest # 指定 ftp 服务器的 ftp 用户密码 ftppwd=123456 # 指定 client 主机本地下载文件存放的目录 localdir=/home/xiutuo/ftp # 指定 server 主机的 ftp 目录 remotedir=/opt/IBM/DB2/ # 登录 server 主机的 ftp -v -n $serverip << EOF > /tmp/autoftp.log.2010.XX.XX 2>&1 set head off set echo off set wrap off # 指定 ftp 用户和密码 $ftpuser $ftppwd # 指定 server 主机的 ftp 目录和本地目录 lcd $localdir cd $remotedir bin # 上传 patch 包文件至 server 主机的指定目录 put patchXXX.tar.gz EOF |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 | import java.io.BufferedReader; import java.io.IOException; import java.io.InputStream; import java.io.InputStreamReader; import ch.ethz.ssh2.Connection; import ch.ethz.ssh2.Session; import ch.ethz.ssh2.StreamGobbler; public class AutoCopy { public static void main(String[] args) { String hostname = "9.212.XXX.XXX; String username = "SolarisAdmin"; String password = "********"; try { /* 创建 SSH2 连接实例 */ Connection conn = new Connection(hostname); /* 打开主机 ssh 端口连接(默认 22) */ conn.connect(); /* 认证方式为 user/passwd */ boolean isAuthenticated = conn.authenticateWithPassword(username, password); if (isAuthenticated == false) throw new IOException("Authentication failed."); /* 已连接到远程主机,打开 session 会话 */ Session sess = conn.openSession(); /* 执行备份操作 */ sess.execCommand(\ "cp /etc/services /usr/local/etc/services; \ ls -lt /usr/local/etc/|grep -i services >&2"); /* 远程主机输入输出流 */ InputStream stdout = new StreamGobbler(sess.getStdout()); InputStream stderr = new StreamGobbler(sess.getStderr()); BufferedReader stdoutReader = new BufferedReader(new InputStreamReader(stdout)); BufferedReader stderrReader = new BufferedReader(new InputStreamReader(stderr)); System.out.println("process result on remote server:"); while (true) { String line = stdoutReader.readLine(); if (line == null) break; System.out.println(line); } System.out.println("Process error from remote server:"); while (true) { String line = stderrReader.readLine(); if (line == null) break; System.out.println(line); } /* 关闭会话 */ sess.close(); /* 关闭连接 */ conn.close(); } catch (IOException e) { e.printStackTrace(System.err); System.exit(2); } } } |
欢迎光临 电子技术论坛_中国专业的电子工程师学习交流社区-中电网技术论坛 (http://bbs.eccn.com/) | Powered by Discuz! 7.0.0 |