Jede Nacht eine Datei von einem Webserver auf NAS laden

  • Ich habe jetzt schon einiges probiert und auch über die Suche geschaut bin aber noch nicht so richtig schlau. (Und ich habe nur rudimentäre Ahnung von Linux)


    Aufgabenstellung ist, jede Nacht eine Datei von einem Webserver auf das NAS zu laden und die vorhandene zu ersetzen.


    Ich habe jetzt mal einiges probiert und denke, es gibt keine Qnap App mit der man das bewerkstelligen kann, richtig?


    Das heißt, ich muss einen Cron-Job einrichten der das für mich erledigt? Und ich brauche ein WGET im Cron-job-Befehl?

    Das Verzeichnis am Web-Server kann ich mit einer .htaccess "schützen". Reicht es wenn ich einfach nur die erlaubte IP-Adresse erlaube oder sollte da eine User/PWD Abfrage auch sein? Und dann brauche ich eine .passwd Datei?

    Kann man mit einem Cron Job User und PWD übergeben?

    Wäre fein wenn mich da jemand mit dem passenden Befehl unterstützen könnte. Danke!

  • Also mit HBS müsste das im Prinzip gehen. Man richtet einen FTP Speicherplatz ein und dann einen Backupjob, bei dem man einen Filter einrichtet, der exakt nur auf diese spezielle Datei zutrifft. Wenn diese alleine in einem Verzeichnis liegt wird es natürlich noch einfacher. Denn der um Dateien auf den Webserver zu laden wird ja wahrscheinlich FTP o.ä. benutzt. Es gibt aber auch ein WebDAV Backend für HBS.

  • Hallo,


    das geht auch mit einem Cronjob. Dazu solltest Du eine Scriptdatei in einem Verzeichnis auf dem NAS anlegen - z.B. unter /share/Public/


    In diese Scriptdatei müsste dann beispielhaft folgender Code rein:


    Code
    1. cd /share/VERZEICHNIS_IN_DAS_DIE_DATEI_GESPEICHERT_WERDEN_SOLL
    2. wget -N --user BENUTZER --password PASSWORT https://URL_ZUR_DATEI

    Die Scriptdatei muss noch als ausführbar gekennzeichnet werden:


    Code
    1. chmod +x /PFAD_ZUR_DATEI/DATEI

    Danach kann die Scriptdatei über einen Cronjob (hier im Beispiel jede Nacht um 2 Uhr) aufgerufen werden:

    Code
    1. crontab -e

    Dann folgenden Eintrag in der Crontab einfügen:

    Code
    1. 0 2 * * * /PFAD_ZUM_SCRIPT/SCRIPTDATEI
  • @Ihsei: Hey, vielen Dank! Das werde ich probieren.


    nasferatu : Die Datei am Webserver wird von einem Tool am Webserver produziert. Am Web-Server selbst ist kein FTP Server aktiv.

  • lhsei


    Ich taste mich gerade an das Thema heran, die Scriptdatei habe ich erstellt, der wget-Befehl funktioniert aber leider nicht das cd.


    Ich bekomme in der Konsole die Meldung, dass das Verzeichnis nicht existiert:


    Code
    1. : No such file or directoryblic/shopdatadl.sh: line 1: cd: /share/Webshop-Exporte


    Innerhalb der Konsole kann ich aber mit dem gleichen cd Befehl in dieses Verzeichnis wechseln. Ich nehme mal an, dass ist ein Rechteproblem für den Ordner? Welche Rechte müssen da noch vergeben werden damit das script dorthin wechseln kann? Oder ist das ein anderes Problem?


    EDIT: Selbst das Problem gefunden und lösen können. Linux mag kein CRLF sondern nur LF am Ende. Im Code Editor umgestellt und Voila, schon funktioniert es.

    Einmal editiert, zuletzt von PuraVida ()