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
- #见见之时 见非是见 见犹离见 见不能及
|