1. Diese Seite verwendet Cookies. Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies. Weitere Informationen

FTP-Backup automatisieren?

Dieses Thema im Forum "AppleScript" wurde erstellt von Hairy, 02.06.08.

  1. Hairy

    Hairy Sonnenwirtsapfel

    Dabei seit:
    07.08.07
    Beiträge:
    2.397
    Hi,

    ich habe einen Rootserver. Diesen würde ich gerne regelmäßig auf meinen Mac sichern. Ich wollte mir gerade mit dem Automator ein kleines Scriptchen zusammenklicken, stellte dabei aber fest, dass Cyberduck keine Automatorfunktionen mitbringt. Gibt es sonst eine Möglichkeit?

    Ich stelle mir das folgendermaßen vor:
    • Ich klicke auf das Script (wie auf ein Programm)
    • Es wird per FTP eine Verbindung hergestellt
    • Ein kompletter Ordner wird auf die Mac-Festplatte heruntergeladen
    • evtl. wird noch ein MySQL-Dump erstellt und ebenfalls runtergeladen
    Ist das irgendwie komfortabel machbar?
     
  2. Turkey1976

    Turkey1976 Freiherr von Berlepsch

    Dabei seit:
    03.07.07
    Beiträge:
    1.102
    was für einen rootserver hast du? ich nehme an du hast ein linux system

    Bei mir ist es so: Per Bashscript in der Crontab lasse ich auf meinem Rootserver das entsprechende Verzeichnis mit dem Programm TAR packen und lasse ein mysqldump herstellen. dann schicke ich die daten mit dem Programm NcFTP auf meinen Backuprechner.
    Leicht angepasst läuft das ganze auch bei Dir ... du müsstest lediglich NCFTP auf dem Mac betreiben.
     
    #2 Turkey1976, 02.06.08
    Zuletzt bearbeitet: 02.06.08
  3. Hairy

    Hairy Sonnenwirtsapfel

    Dabei seit:
    07.08.07
    Beiträge:
    2.397
    Einen vServer mit Ubuntu Linux.
     
  4. Turkey1976

    Turkey1976 Freiherr von Berlepsch

    Dabei seit:
    03.07.07
    Beiträge:
    1.102
    Wie wichtig ist es für dich, dass in dem Moment in dem Du ein Backup anforderst, ein aktuelles Snapshot hergestellt wird?
    Oder reicht es Dir, wenn eine Backupdatei stets zu einer bestimmten Uhrzeit (bsp 24 Uhr) hergestellt wird und für Dich zum automatischen Download bereit liegt?

    Die einfache Lösung hier:

    Ich gehe davon aus dass du weißt wie man mit der crontab umgeht und dass du auf deinem ubuntuserver ein ftpdienst läuft mit dem du den pfad /backup ereichst!

    Du erzeugst dir mit einem Editor eine leere Textdatei und nennst Sie backupscript
    CODE FÜR DEN UBUNTU SERVER START
    #!/bin/bash
    mysqldump -u deinsqluser --password=deinpasswort --flush-logs -opt namedeinerdatenbank > /backup/datenbank.sql
    tar -cvzf /backup/daten.tar.gz /
    pfadzudeinendaten
    CODE FÜR DEN UBUNTU SERVER ENDE

    dann tipps du chmod 777 backupscript

    dann trägst du in die crontab ein, dass das o.g. script zu einer von Dir gewünschten Uhrzeit abgearbetet wird.

    Nun installierst du auf deinem Apfel das Programm NcFTP und machst Dir ein Applescript in dem du die folgenden Shellbefehle aufrufst:
    ncftpget -u deinftpusername -p deinftppasswort deineserverurl.de / /datenbank.sql
    ncftpget -u deinftpusername -p deinftppasswort deineserverurl.de / /daten.tar.gz


     
    #4 Turkey1976, 03.06.08
    Zuletzt bearbeitet: 03.06.08
  5. Hairy

    Hairy Sonnenwirtsapfel

    Dabei seit:
    07.08.07
    Beiträge:
    2.397
    Ein aktuelles wäre mir lieber - ich dachte mir das so, dass ich, sobald ich was größeres geändert habe, sofort das Backup durchführe. Aber wenn du für beides Ideen hast, lass hören - vielleicht lasse ich mich ja umstimmen ;)
     
  6. Turkey1976

    Turkey1976 Freiherr von Berlepsch

    Dabei seit:
    03.07.07
    Beiträge:
    1.102
    2. Möglichkeit (Unsicherer weil dein mysql-Server auch externe Connections annehmen muss und langsamer, weil jede datei einzeln übertragen wird)

    Die folgende Prozedur kopiert dir die Datenbank vom Server direkt auf deinen Mac. Danach kopiert dir das FTP programm jede einzelne Datei vom Server auf den Mac.


    1)Du erlaubst bei deinem SQL-Server externe Zugriffe. Der FTP dienst läuft und du hast so zugriff auf die gewünschten Dateien.
    2) Du installierst dir mysql und ncftp auf deinem mac.
    3) Dann machst du Dir ein Applescript mit den folgenden Shellbefehlen:
    mysqldump -h meineserverurl.de -u deinsqluser --password=deinpasswort --flush-logs -opt namedeinerdatenbank > /macintoshhd/backup/ datenbank.sql
    ncftpget -u deinftpusername -p deinftppasswort -R deineserverurl.de /macintoshhd/backup/ /pfadzudeinendaten

    Das sollte so funktionieren



     
  7. Hairy

    Hairy Sonnenwirtsapfel

    Dabei seit:
    07.08.07
    Beiträge:
    2.397
    Vielen Dank!
    Könnte ich nicht oben genanntes Script anstatt es per CronJob ausführen zu lassen, auch per AppleScript starten? Also per SSH verbinden, Script ausführen, SSH beenden, backup herunterladen?
     
  8. Turkey1976

    Turkey1976 Freiherr von Berlepsch

    Dabei seit:
    03.07.07
    Beiträge:
    1.102
    eigentlich schon...
    dann würde ich aber empfehlen, dass du auf dem mac einen ftp-server aufmachst und ncftpput serverseitig verwendest um das päckchen zum mac zu schieben. Dann gibt es keine timing-probleme
     

Diese Seite empfehlen