2017-02-04 8 views
0

Ich muss laden Sie die Datei auf einer täglichen Basis und in einem bestimmten Zeitfenster mit ssh in Python ..Wie Cron-Jobs in Python

folgenden Code wird verwendet, um schreiben, die Datei herunterzuladen:

import os 
import paramiko 

ssh = paramiko.SSHClient() 
ssh.load_host_keys(os.path.expanduser(os.path.join("~", ".ssh", "known_hosts"))) 
ssh.connect(server, username=username, password=password) 
sftp = ssh.open_sftp() 
sftp.put(localpath, remotepath) 
sftp.close() 
ssh.close() 

Ich muss es in Cron-Job setzen, um es täglich herunterzuladen. Bitte schlagen Sie vor, wie dies in Python erreicht werden kann.

+0

Möchten Sie Cron wie in 'Crontab -e' oder etwas verwenden? Oder müssen Sie einen Cron-ähnlichen Dienst in Python implementieren? Oder möchten Sie Ihre Crontab mit einem Python-Skript bearbeiten? Zu mir ist deine Frage nicht sehr klar. Der Code, den Sie eingefügt haben, ist für Ihre Frage irrelevant (oder ich kann nicht sehen, wie es sich bezieht). –

+0

Sie legen es in Ihre Crontab wie jedes andere Programm, das Sie mit Cron ausführen möchten. Es ist nichts Besonderes, ein Python-Skript als Cron-Job zu verwenden. N.B. "Wie verwende ich Cron" ist keine Programmierfrage, also wenn Sie das fragen, können Sie besser auf unix.stackexchange.com gehen. – kindall

+0

Ich denke, die Absicht ist, diese Funktion direkt aus dem Python-Skript zu planen, in dem sie geschrieben wird – user1977867

Antwort

2
import schedule 
import time 

def job(): 
    print("I'm working...") 

schedule.every(10).minutes.do(job) 
schedule.every().hour.do(job) 
schedule.every().day.at("10:30").do(job) 

while 1: 
    schedule.run_pending() 
    time.sleep(1) 
+0

Sehr sauberer, einfacher Code. Sollte eher so sein. –