linux scp(文件上傳,下載) shell命令的java ssh jar和linux expect工具,主要是避免shell 密碼手工輸入帶來的麻煩(免密ssh,scp),簡單易用,方便上手java
jssh.jar 使用jsch封裝的java版本
jssh.sh 使用expect封裝的sh版本
以上二者是獨立的,不一樣的實現。mysql
wget https://gitee.com/chejiangyi/jssh/raw/master/release/master/jssh.jar
命令格式:java -jar jssh.jar [用戶名]@[ip]:[端口]@[密碼] [命令] [命令參數...]
說明:
[用戶名] root
[ip]10.200.133.69
[端口]22
[密碼]cjy@@2018! (若@爲轉義,使用@@)
[命令]sftp (枚舉:shell,sftp)
[參數]/root/setting.xml /root/setting.xml (根據命令指定參數)
shell命令:
支持 linux shell
exit (表示退出shell)
sftp命令:
sftp [get(下載)/put(上傳)] [來源文件路徑 [目標文件路徑]
示範1(上傳,下載同理):linux
java -jar jssh.jar root@10.200.133.69:22@123456 sftp put c:/setting.xml /root/setting.xml
示範2(shell):git
java -jar jssh.jar root@10.200.133.69:22@Fengdai@@2018! shell <<EOF cd / cat stream-mysql.log exit EOF
yum install expect wget https://gitee.com/chejiangyi/jssh/raw/master/release/master/jssh.sh
命令格式:expect jssh.sh [命令] [用戶名]@[ip]:[fromfile] [tofile] [remotepassword]
scp命令: expect jssh.sh scp [用戶名]@[ip]:[fromfile] [tofile] [remotepassword]
舉例:sql
expect jssh.sh scp root@10.200.133.50:tt.sql /tt.sql 111@2017!
ssh命令:expect jssh.sh ssh [用戶名]@[ip] [remotepassword]
舉例:shell
expect jssh.sh ssh root@10.200.133.50 111@2017!
by 車江毅架構