2013-01-22 2 views
0

RHN Satellite의 API와 인터페이스하는 Python 스크립트를 만들려고합니다. 아래 코드는 지정된 서버 (var id)에 대해 즉시 실행될 원격 명령을 예약합니다. 문제는 위성 서버가 내가 지정한 지 정확히 2 시간 후에 명령을 예약한다는 것입니다. 이것이 일어나고있는 곳을 찾을 수 없습니다. Satellite 서버와 클라이언트는 모두 RHEL6입니다. 여기 내 코드는 다음과 같습니다.RHN Satellite의 API와 인터페이스하는 Python 스크립트

#!/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"변수를 인쇄하면 현재 시간이 인쇄됩니다. 위성 서버에서 "날짜"를 입력하면 정확한 시간이 인쇄됩니다.

도움을 주시면 감사하겠습니다. 감사!

답변

0

이제 해결되었지만 확실하지 않습니다. 내가 확인한 두 가지는 위성 서버 자체가 정확한 시간대 (EST vs. MST)에 있었고, 다른 하나는 API 키를 생성하는 데 사용 된 계정이 올바른 시간대로 설정되었음을 확인한 것입니다. API 계정으로 Satellite에 로그인 한 후에 문제가 사라진 것처럼 보였습니다. 그래서 불행하게도 나는 아무것도 고치지 않았기 때문에 그것을 고쳐 놓은 것이 확실하지 않습니다. 그러나 이것들은 같은 문제가 있는지 확인해야합니다.

관련 문제