Python脚本与RHN卫星API接口
我正在尝试创建一个Python脚本,用来和RHN Satellite的API进行交互。下面的代码是用来立即在指定的服务器(变量id)上调度一个远程命令。问题是,Satellite服务器总是把命令调度在我指定时间的2小时后。我找不到这个问题出在哪里。Satellite服务器和客户端都是RHEL6。以下是我的代码:
#!/bin/python
import xmlrpclib
from datetime import date, datetime, time, timedelta
from sys import argv
import socket
import os
SATELLITE_URL = "https://URL"
SATELLITE_LOGIN = "username"
SATELLITE_PASSWORD = "password"
client = xmlrpclib.Server(SATELLITE_URL, verbose=0)
key = client.auth.login(SATELLITE_LOGIN, SATELLITE_PASSWORD)
id = [] #Satellite server ID
script = "#!/bin/sh \n yum update -y"
def schedule_script():
earliest_occurrence = xmlrpclib.DateTime()
print earliest_occurrence
client.system.scheduleScriptRun(key, id, "root", "root", 300, script, earliest_occurrence)
schedule_script()
client.auth.logout(key)
当我打印变量“earliest_occurrence”时,它显示的是当前时间。当我在Satellite服务器上输入“date”命令时,它显示的也是正确的时间。
非常感谢任何帮助!谢谢!
1 个回答
0
这个问题现在解决了,但我也不太确定是怎么解决的。我确认了两件事:第一,卫星服务器的时区设置是正确的(东部时间和山地时间的区别);第二,我确认了用来生成API密钥的账户的时区设置也是正确的。在我用这个API账户登录卫星后,问题似乎就消失了。所以,遗憾的是我不太清楚到底是什么解决了这个问题,因为我没有做任何更改。不过,如果你也遇到同样的问题,可以先检查这两点。