def test_channel(): client = ParamikoClient('config.ini', 'PPM101') client.connect() interact = SSHClientInteraction(client.client, timeout=10, display=False) interact.expect(re_strings='.*#.*') interact.send('echo ""') interact.send( 'tail -f /opt/ppm/ppm/QX_DEV_OPS_962/server/kintana/log/serverLog.txt') interact.tail(output_callback=lambda m: output_callback(m, interact), stop_callback=lambda x: get_is_stop(x), timeout=100)
def connect_to_101(): client = ParamikoClient('config.ini', 'PPM101') client.connect() home = "/opt/ppm/ppm/" # file = '/opt/ppm/ppm/QX_DEV_OPS_962_1/ppm962/test/install.log' # cmd = 'file=' + file + '&&mkdir -p "${file%/*}" && touch "$file"' _, stdout, _ = client.run_command("cd /opt/ppm/ppm/ && for i in $(ls -d */); do echo ${i}; done") for line in iter(stdout.readline, ""): print(line.strip()) if is_ppm_instance(home, line.strip(), client): print("it's PPM instance")
def find_log(query, *arg): qid = arg[0] queue = arg[1] ssh = ParamikoClient('ssh.ini', query) ssh.connect() command = str() if query == 'query': command = 'cd /search/service/nginx/html/order_pay_online/orderAPI; ' \ 'grep -r "travco" | grep "ba005"' print('获取qid') if query == 'responseServer': command = 'cd /search/service/nginx/html/order_pay_online/orderAPI; ' \ 'grep -r ' + str(qid) + ' | grep "ResponseServer"' print('获取responseServer') stdout = ssh.exec_commond(command) return [stdout.readlines(), query, queue]
def gevent_func(section): client = ParamikoClient('config.ini', section) #读取文件阻塞 切换 gevent.sleep(0) client.connect() #连接阻塞 切换 gevent.sleep(0) #执行命令 阻塞 切换 client.run_cmd('echo $PATH') gevent.sleep(0) #执行命令 阻塞 结束 client.run_cmd('cat /proc/meminfo')
def django_fun(): client = ParamikoClient('config.ini') client.connect() cmd_list = ['cd ~/hailong/django_operate' , 'ls' , 'source env/bin/activate' , 'cd django_blog' , 'ls' #, 'pip install -r requirements.txt' , 'python manage.py runserver'] client.run_multi_seq_command(cmd_list)
def func(call_arg_str): global task_num client = ParamikoClient('config.ini') print client.connect() #client.run_command('date') cmd_list = {'ls', 'cd ~/hailong', 'ls'} client.run_multi_seq_command(cmd_list) lock.acquire() task_num -= 1 if task_num == 0: print call_arg_str, ' consume ', time.time()-begin lock.release()
def process(section): client = ParamikoClient('config.ini', section) client.connect() client.run_cmd('echo $PATH') client.run_cmd('cat /proc/meminfo')
def process(section, task_command): client = ParamikoClient('config.ini', section) client.Connect() client.run_command(task_command)
def process_func(call_arg_str): global task_num client = ParamikoClient('config.ini') print client.connect() client.run_command('date')
#!/usr/bin/env python # -- coding: utf-8 -- # Time: 2017/7/7 10:32 # Author: zhourudong import time from paramiko_client import ParamikoClient if __name__ == '__main__': task_num = 1 for i in range(task_num): section = 'ssh{}'.format(task_num) client = ParamikoClient("config.ini", section) client.connect() client.get_sftp_client().put("my_blog.tar.gz", "/home/ops_zhourudong/data/my_blog.tar.gz") cmd_list = ['cd /home/ops_zhourudong/data', 'pwd', 'tar xf /home/ops_zhourudong/data/my_blog.tar.gz -C /home/ops_zhourudong/data', 'cd my_blog', '/home/ops_zhourudong/.pyenv/versions/myblog27_13/bin/python -m pip install -r requiments.txt', '/home/ops_zhourudong/.pyenv/versions/myblog27_13/bin/python manage.py runserver 192.168.1.58:9991' ] client.multi_run_cmd(cmd_list) while True: time.sleep(0)