| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071 | 
							
- export LANG=zh_CN.utf8
 
- export LC_ALL=zh_CN.utf8
 
- #改变工作目录到当前脚本所在路径
 
- if [[ "$0" =~ / ]]; then cd "${0%/*}"; fi
 
- mkdir -p "/opt/matrix/logs"
 
- if [[ "$#" == "0" ]]; then
 
- echo "
 
- usage:
 
- #执行本地命令
 
- ro action=local  cmds=<命令>
 
- #执行远程命令
 
- ro action=remote host=<IP或可解析的hostname> username=<用户> password=<密码> cmds=<命令>
 
- #从远程下载文件
 
- ro action=fget   host=<IP或可解析的hostname> username=<用户> password=<密码> local=<本地文件路径> remote=<远程文件路径>
 
- #上传文件到远程
 
- ro action=fput   host=<IP或可解析的hostname> username=<用户> password=<密码> local=<本地文件路径> remote=<远程文件路径>
 
- #Base64编码
 
- ro b64
 
- 注意事项:
 
- 命令:命令尽量使用单引号包括
 
- 密码:需要BASE64编码,如果使用明文密码,那么需要在密码前增加一个等于号并使用单引号包括,例如:
 
-   ro action=remote host=127.0.0.1 username=root password='=123456' cmds='pwd;ls'
 
- Base64编码可以通过执行 ro b64 命令,输入明文,转换后得到
 
- "
 
- export ret=1
 
- elif [[ "$1" = "b64" ]]; then
 
- echo -n 输入:
 
- python -c "
 
- import base64;
 
- import sys;
 
- s = sys.stdin.readline().strip()
 
- try:
 
- 	if s[0] == '=':
 
- 		print(s[1:])
 
- 	else:
 
- 		if sys.version_info.major == 3:
 
- 			s = bytes(s, encoding='utf8')
 
- 		s = base64.b64encode(s)
 
- 		if sys.version_info.major == 3:
 
- 			s = str(s, encoding='utf8')
 
- 		print(s)
 
- except TypeError as e:
 
- 	#print(e)
 
- 	print(s)
 
- "
 
- export ret=$?
 
- else
 
- python ro.py TRACE=SIPR logdir="/opt/matrix/logs" "$@"
 
- export ret=$?
 
- fi
 
- exit $ret
 
- #见见之时 见非是见 见犹离见 见不能及
 
 
  |