Seite 1 von 1

FTP Backup check script

Verfasst: Montag 6. Dezember 2010, 14:23
von rockabilly1985
Hi,

ich bin ein ziemlicher rookie in Sachen Python.....hab mich bis jetzt nur auf der bash, zsh usw herumgetrieben.

Ich will mit einem python script meine Backups auf einem FTP Server checken.

Was ich bisher gepfuscht habe:

Code: Alles auswählen


#!/usr/bin/python


import os
import sys
import datetime
import time
from datetime import date, datetime

today = date.today()
print today

#Logindaten lesen


user = os.getenv("BM_UPLOAD_FTP_USER")
passwd = os.getenv("BM_UPLOAD_FTP_PASSWORD")
host = os.getenv("BM_UPLOAD_FTP_HOSTS")

#FTP login

from ftplib import FTP
ftp = FTP(host)
ftp.login (user, passwd)
print ftp.getwelcome()

dir = ftp.retrlines('LIST')
print dir

#last = os.path.getmtime(/)
#print last

ftp.quit ()
Alles einfach irgendwie zusammengeschnipselt..... print ist jeweils eher zum debugen gedacht ^^ .... funktioniert auch alles soweit.

jetzt müsste ich nur noch das Datum der zuletzt erstellten Datei mit dem heutigen Datum (evtl +1 Tag um das mit dem Nagioscheck besser hin zu bekommen)
vergleichen und als Ergebnis 0 oder 1 ausgeben.
Mein wissen über python und die verschiedensten Ansätze und Forenbeiträge machen mein Halbwissen nur noch zu einem größeren Brei ^^

Danke schon mal!

Re: FTP Backup check script

Verfasst: Montag 6. Dezember 2010, 15:49
von Gremlin
Was ist ein "Nagioscheck"? Die Zeitzonen Differenz?

Das hier sollte dir wohl helfen, falls der FTP Server auf dem deine Daten liegen den MDTM-Befehl unterstützt:

Code: Alles auswählen

import os
import time

def get_timezone_difference(ftp):
    """
    Return the time difference between the local machine and the remote one in
    seconds.
    
    """
    localTime = time.time()
    ftp.storbinary('STOR dummyfile', os.tmpfile())
    dummyTime = ftp.voidcmd('MDTM dummyfile')[4:]
    dummyTime = time.mktime(time.strptime(dummyTime, '%Y%m%d%H%M%S'))
    ftp.delete('dummyfile')
    return int(localTime - dummyTime)
Hier findest du evtl. noch ein paar interessante Dinge ;) http://www.python-forum.de/viewtopic.php?f=9&t=24153
Vielleicht findest du auch das Skript "ftpmirror" (Tools/Scripts/ftpmirror.py) im Python Installationsverzeichnis ganz nützlich.

Re: FTP Backup check script

Verfasst: Montag 6. Dezember 2010, 16:05
von rockabilly1985
Danke für deine Antwort

Nagios ist ein Server-Monitoringsystem.

Ich kann damit ein script über nrpe auf einem Server ausführen lassen, dieses gibt einen wert zurück. z.B 0 -> alles ist OK

Jetzt will ich praktischerweise überprüfen ob denn nun das Backup, welches wiederum auf einem anderen FTP Server liegt, aktuell ist.
Das Backup mache ich mit dem backup-manager aus dem Debian repository.

Das was du mir da geschrieben hast, würde mir in soweit was bringen, dass ich testen könnte ob der FTP server an sich ok ist und ob die Zeit auch passt..... soweit ich das jetzt entziffern kann :-D