我正在尝试创建一个python脚本,它与RHN Satellite的API接口。下面的代码计划对指定的服务器( var id)立即运行一个远程命令。问题是,卫星服务器恰好在我指定的2小时后调度该命令。我找不到这是在哪里发生的。卫星服务器和客户端都是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“时,它会打印当前时间。当我在卫星服务器上做“日期”时,它会打印出正确的时间。
任何帮助都将不胜感激。谢谢!
发布于 2013-01-24 03:36:45
这个问题现在已经解决了,但我不太确定是如何解决的。我确认的两件事是卫星服务器本身处于正确的时区(EST与MST),另一件事是我确认用于生成API密钥的帐户设置为正确的时区。在我使用API帐户登录到Satellite后,这个问题似乎消失了。所以,不幸的是,我不确定是什么修复了它,因为我没有改变任何东西。但是,如果有同样的问题,这些都需要验证。
https://stackoverflow.com/questions/14468711
复制相似问题