Stündlich entfernte Datei herunterladen und erneut hochladen
Hallo alle zusammen!
Ich möchte automatisiert (alle 59 Minuten) eine Datei von einem FTP-Server herunterladen und diese auf einen anderen FTP-Server hochladen.
Mein Lieferant stellt dazu die Datei "Items.csv" auf seinem FTP-Server zur Verfügung.
Diese Datei lade ich aktuell mit einem FTP Programm herunter und lade sie dann auf meinen FTP-Server hoch.
Im Anschluss rufe ich im Browser Magmi auf und importiere die neuen Lagerbestände in meinen Magento Webshop.
Magmi lässt sich aber auch automatisieren durch: wget "http://domain/magmi/web/magmi_run.php?mode=update&profile=bestand&engine=magmi_productimportengine:Magmi_ProductImportEngine" -O /dev/null
Nun möchte ich aber nicht ständig meinen PC oder Laptop eingeschaltet lassen. Ich möchte das ganze serverseitig lösen. Ich dachte da an Cronjobs bzw. SSH.
Der Ablauf wäre dieser:
1. Alle 59 Minuten Verbindung zum Remote Server aufbauen und Datei auf den eigenen Server kopieren.
2. Ist der Vorgang abgeschlossen, wird dieser Befehl ausgeführt:
wget "http://domain/magmi/web/magmi_run.php?mode=update&profile=bestand&engine=magmi_productimportengine:Magmi_ProductImportEngine" -O /dev/null
Hat jemand so etwas bereits umgesetzt? SSH? Cronjobs oder doch ganz anders? Ich wäre über jeden Hinweis dankbar.
LG
Tommy
Ich möchte automatisiert (alle 59 Minuten) eine Datei von einem FTP-Server herunterladen und diese auf einen anderen FTP-Server hochladen.
Mein Lieferant stellt dazu die Datei "Items.csv" auf seinem FTP-Server zur Verfügung.
Diese Datei lade ich aktuell mit einem FTP Programm herunter und lade sie dann auf meinen FTP-Server hoch.
Im Anschluss rufe ich im Browser Magmi auf und importiere die neuen Lagerbestände in meinen Magento Webshop.
Magmi lässt sich aber auch automatisieren durch: wget "http://domain/magmi/web/magmi_run.php?mode=update&profile=bestand&engine=magmi_productimportengine:Magmi_ProductImportEngine" -O /dev/null
Nun möchte ich aber nicht ständig meinen PC oder Laptop eingeschaltet lassen. Ich möchte das ganze serverseitig lösen. Ich dachte da an Cronjobs bzw. SSH.
Der Ablauf wäre dieser:
1. Alle 59 Minuten Verbindung zum Remote Server aufbauen und Datei auf den eigenen Server kopieren.
2. Ist der Vorgang abgeschlossen, wird dieser Befehl ausgeführt:
wget "http://domain/magmi/web/magmi_run.php?mode=update&profile=bestand&engine=magmi_productimportengine:Magmi_ProductImportEngine" -O /dev/null
Hat jemand so etwas bereits umgesetzt? SSH? Cronjobs oder doch ganz anders? Ich wäre über jeden Hinweis dankbar.
LG
Tommy
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 260612
Url: https://administrator.de/contentid/260612
Ausgedruckt am: 26.11.2024 um 02:11 Uhr
9 Kommentare
Neuester Kommentar
Kannst du folegnden Befehl bei deinem Cronjob durchführen?:
wget "http://domain/magmi/web/magmi_run.php?mode=update&profile=bestand&a ..." -O /dev/null
Dann brauchst du nur einen zweiten (der davor läuft):
wget --user=ftpuser--password='myPassword' ftp://file.in/protected/area/items.csv -P /pfad/zum/importverzeichnis
(http://wiki.ubuntuusers.de/wget)
wget "http://domain/magmi/web/magmi_run.php?mode=update&profile=bestand&a ..." -O /dev/null
Dann brauchst du nur einen zweiten (der davor läuft):
wget --user=ftpuser--password='myPassword' ftp://file.in/protected/area/items.csv -P /pfad/zum/importverzeichnis
(http://wiki.ubuntuusers.de/wget)
Zitat von @Philosoph:
Guten Morgen alle zusammen!
Das ganze kann natürlich auch einmal pro Stunde laufen! Aber wie das ganze ablaufen muss bzw. "zusammen gebaut"
wird, bleibt mir leider noch verborgen.
Guten Morgen alle zusammen!
Das ganze kann natürlich auch einmal pro Stunde laufen! Aber wie das ganze ablaufen muss bzw. "zusammen gebaut"
wird, bleibt mir leider noch verborgen.
Moin,
einfach ein bash-script schreiben mit, z.B. in ~/bin/transfer.sh
<code type0plain>
#!/bin/bash
wget -O $zielverzeichnis ftp://server/pfad/datei
wget "http://domain/magmi/web/magmi_run.php?mode=update&profile=bestand&a ..." -O /dev/null
und dann mit crontab -e als Job eintragen (Zeile hinzufügen):
23 * * * * ~/bin/transfer.sh
Das ist quasi das Grundgerüst. Du solltest aber ncih ein paar Fehlerchecks und Plausibilitätsprüfungen einbauen.
lks
Zitat von @Philosoph:
Gibt es hier jemand, der das ganze als Auftrag übernehmen möchte? Gesucht wird also ein Freelancer mit entsprechender
Erfahrung in Crontab und SSH...
Ich würde mich über eine PN oder Antwort hier sehr freuen.
Gibt es hier jemand, der das ganze als Auftrag übernehmen möchte? Gesucht wird also ein Freelancer mit entsprechender
Erfahrung in Crontab und SSH...
Ich würde mich über eine PN oder Antwort hier sehr freuen.
Wenn Du Dir mich leisten kannst.
lks
PS: Ich melde mich später.