Python argparse 与 Nagios 检查
Python argparse with Nagios check
我正在尝试修复 Op5 检查,但我似乎无法将 -H 参数用作 ssh 连接中的主机名。我不是很擅长 python 但边学边学。
import paramiko
import argparse
ssh = paramiko.SSHClient()
# Argument parsing
parser = argparse.ArgumentParser(
description=__doc__,
epilog='Developed by %s - For more information see: "%s"'
% (author, url))
parser.add_argument('-H', '--hostname', dest='hostname', required=True, help='Host name, IP Address')
args = parser.parse_args()
ssh.connect('hostname='args', username='', password='')
可能遗漏了一些东西,但我需要一些帮助:)
首先,从 hostname
中取出引号 - 关键字参数标签不需要引号,就像您对 username
和 password
:
所做的一样
ssh.connect(hostname=args, username='', password='')
然后您需要从 args
对象访问正确的参数 - 您可以在使用 add_argument
声明参数时从指定为 dest
的内容中找到它的名称:
ssh.connect(hostname=args.hostname, username='', password='')
我正在尝试修复 Op5 检查,但我似乎无法将 -H 参数用作 ssh 连接中的主机名。我不是很擅长 python 但边学边学。
import paramiko
import argparse
ssh = paramiko.SSHClient()
# Argument parsing
parser = argparse.ArgumentParser(
description=__doc__,
epilog='Developed by %s - For more information see: "%s"'
% (author, url))
parser.add_argument('-H', '--hostname', dest='hostname', required=True, help='Host name, IP Address')
args = parser.parse_args()
ssh.connect('hostname='args', username='', password='')
可能遗漏了一些东西,但我需要一些帮助:)
首先,从 hostname
中取出引号 - 关键字参数标签不需要引号,就像您对 username
和 password
:
ssh.connect(hostname=args, username='', password='')
然后您需要从 args
对象访问正确的参数 - 您可以在使用 add_argument
声明参数时从指定为 dest
的内容中找到它的名称:
ssh.connect(hostname=args.hostname, username='', password='')