Я предлагаю создать метод, в который вы можете легко передавать значения.Циклическая проверка будет зависеть от того, как вы храните сведения о соединении SSH, я бы посоветовал list
из dict
команд, которые вы передаете в строки сеанса SSH, чтобы вы могли использовать string.format()
.Документы для python3 здесь
import paramiko
def ssh_grep(ssh_hostname, ssh_username, ssh_password, username, date, grep_filter)
ssh_client=paramiko.SSHClient()
ssh_client.set_missing_host_key_policy(paramiko.AutoAddPolicy())
ssh_client.connect(hostname=ssh_hostname,
username=ssh_username,
password=ssh_password)
stdin, stdout, stderr=ssh_client.exec_command('''
cd ..
cd user/{username}/log
cd *{date}*
grep -c 1= {grep_filter}
'''.format(username=username,
date=date,
grep_filter=grep_filter))
for line in stdout.readlines():
print (line.strip())
for line in stderr.readlines():
print (line.strip())
for item in ssh_list:
ssh_grep(item['ssh_hostname'],
item['ssh_username'],
item['ssh_password'],
item['username'],
item['date'],
item['grep_filter'])