Zwei Voraussetzungen gibt es für die von mir beschriebene Methode:
Wem das alles nichts sagt oder wer sich keinen Webserver zulegen will, der sollte sich mal picworkflow* ansehen, das Prinzip ist ähnlich.
- Verzeichnis anlegen
Zuerst sollte man sich ein Verzeichnis für die benötigten Scripte (siehe 2.) sowie die Bilddateien anlegen. Darauf achten, daß dieses nicht im Web-Verzeichnis liegt, wo über den Browser darauf zugegriffen werden kann – ansonsten könnte jemand auf die Benutzer/Passwortinformationen zugreifen! - Scripte anlegen
Jede Seite erhält ein kleines Script, mit dem die Bilder aus dem aktuellen Verzeichnis zur Agentur geladen werden. Das sieht dann z.B. für die Agentut 123rf so aus:— Start up123rf.sh —#!/usr/bin/expect
set timeout ‑1
spawn ftp ‑v ‑i submit.123rf.com
expect „Name („
send „der_benutzername_kommt_hierhinn“
expect „Password:“
send „und_hier_das_passwortn“
expect „ftp>“
send „mput *.jpgn“
expect „ftp>
„send „quitn“— Ende —
Die Zeilen mit dem „Start“ und „Ende gehören natürlich nicht mit in das Script.
Einfach Benutzername und Passwort durch die eigenen Werte ersetzen und schon wird heftig hochgeladen.
In der spawn-Zeile wird einfach für jede Agentur der entsprechende FTP-Server eingetragen.
Eventuell müssen die expect-Zeilen etwas angepasst werden, falls der FTP-Server der Agentur andere Meldungen ausgibt.Wenn mehrere Dateitypen geladen werden sollen, einfach weitere expect/send für das mput ergänzen, das kann dann z.B. so aussehen:
expect „ftp>“
send „mput *.jpgn“
expect „ftp>“
send „mput *.zipn“
expect „ftp>“
send „mput *.avin“Muss in ein Unterverzeichnis auf dem FTP-Server gewechselt werden, folgendes Kommando anpassen und vor die mput-Befehle einfügen:
expect „ftp>“
send „cd ein_ftp_unterverzeichnisn“ - Liste einiger Bildagenturen mit FTP-Servern
ftp.shutterstock.com
upload.dreamstime.com
submit.fotolia.com
ftp.canstockphoto.com
ftp.bigstockphoto.com
ftp.clipdealer.com
panthermedia.net
usw.
Eventuell müssen die FTP-Zugänge noch bei der jeweiligen Agentur freigeschaltet werden, falls man bis jetzt nur mit dem Webinterface geladen hat. - Haupt-Script zum Aufruf der einzelnen Scripte anlegen
Man kann die Einzelscripte natürlich von Hand aufrufen, schneller gehts aber mit noch einem kleinen Script:— Start upall.sh —
#!/bin/bash
./upshut.sh
./upcan.sh
./upbigs.sh
./updream.sh
./upfotolia.sh
./uppanther.sh
./upclip.sh
./up123rf.sh
— Ende —Der Inhalt variiert natürlich je nach belieferten Agenturen. Die Namen der Scripte müssen denen entsprechen, die bei Schritt zwei vergeben wurden.
Zum Schluss für alle Scripte den Befehl
chmod 700 *.sh
ausführen, damit sie ausführbar, aber nicht für jeden lesbar sind.
- Bilder verteilen
Jetzt kommts: Sind alle Scripte vorhanden, lädt man seine Bilddateien auf den Webserver und ruft das Hauptscript auf:./upall.shNun kann man zusehen, wie die Verbindungen aufgebaut und die Bilder nacheinander geladen werden. Z. B. bei Shutterstock gibt es schon mal Transferraten von 4–5 Megabyte pro Sekunde – wenn gerade wenig los ist.
- Sicherheitshinweis
Vorsicht mit den Scripten und wo sie abgelegt werden! Sie enthalten Benutzername und Passwort für die Agenturen, das soll nicht in die falschen Hände gelangen!
Ein Root-Server ist nicht für jeden geeignet, da man diesen selbst verwalten muss! Ein gemanagter Hosting-Vertrag tut es da auch oder ein gemanagter Server. - Beispiele für geeignete Webserver-Angebote
1&1 Virtual Server (L,XL,XXL)
1&1 Homepage (Business Pro)
Hetzner Webhosting (Level 19)
Hetzner Root Server
Hetzner Managed Server
hmm … mit PHP bräuchte man keinen SSH Zugang. dann würde theoretisch jeder Webserver gehen … ich bastel auch mal ne Lösung
Gibt es kein FTP-Programm, mit dem die Bilder automatisch an alle verteilen kann? Ich habe zum Beispiel das Problem, wenn ich Sport- oder Politikbilder an die verschiedenen Redaktionen versenden will, muss ich jede Redaktionen einzelnen anwählen in meinem verwendetetn FTP-Programm „FileZila“. Also Redaktion A aufrufen, Bilder rüberschieben, Redaktionen B aufrufen, Bilder rüberziehen, etc. Danach läuft alles automatisch, dauert aber viel zu lange, bis ich alle angewählt habe. Kennt jemand ein FTP-Programm, mit dem man sowas machen kann?
LG, KS
so funktioniert FTP leider nicht. Man kann Daten von Punkt A zu Punkt B übertragen. Also jeweils eine Verbindung. Das was du meinst soll genau mit dieser Lösung im Beitrag erreicht werden. Also einmal hoch laden, an alle verteilen.
Danke für die interessante Beschreibung.
Eine ähnliche lokale Lösung hatte ich mir mal mit Windows gebastelt.
Ein alter ausgedienter Rechner mit schneller DSL-Verbindung, auf dem ich verschiedene Verzeichnisse für jede Agentur angelegt hatte.
Die Bilder habe ich vom Hauptrechner einfach in die entsprechenden Verzeichnisse kopiert.
Mit Hilfe des FTP-Programms „Fling“ wurden die Verzeichnisse dann automatisch nacheinander abgearbeitet und die Bilder nach dem erfolgreichen Upload durch „Fling“ gelöscht.
Vorteil: niemand kann an die Passwörter ran. Der Upload klappt wunderbar nebenbei und stört so auch nicht den Hauptrechner. Bzw. umgekehrt: ein Absturz des Hauptrechners stoppt nicht den Upload.
Weiter braucht man keinen teuren Rechner, ein kleiner mit Win2000 reicht da auch. Auch die Speicherkapazität hält sich in Grenzen, aber das macht zumindest bei den Festplattenpreisen auch nicht mehr so viel aus. Ich hatte eine 80 GB-Platte eingebaut, die reichte mehr als aus. So kann man einen alten Rechner schnell mal zum Upload-Rechner ausbauen und muss ihn nicht unbedingt gleich entsorgen.
Ausserdem kann man die Uploadzeiten in die verkehrsschwachen Zeiten legen (zumindest in Europa ist das Nachts).
Nachteil: der Rechner muss natürlich die ganze Nacht laufen und verbraucht dabei auch Strom.
@Karsten Socher:
Fling kann das: http://www.nchsoftware.com/ftp/index.html
warum nicht einfach aus der welt der Entwicklung nehmen was es so schon gibt .. build bzw. deploymentsysteme nennt sich sowas – ant (http://ant.apache.org/) zbsp. bringt das was benötigt wird mit dort gibt es genügend tasks bzgl. ftp, sftp usw… ein xml basiertes system wie ant ist schnell auf die bedürfnisse angepasst (lauffähige javaumgebung vorausgesetzt) und läuft plattformunabhängig.
solange man eine schnelle Datenleitung hat kann man sowas machen, ich selbst habe diese Aufgabe lieber Photoshelter gegeben, der sein job sehr gut macht und superschnelle Leitungen hat. Da brauche ich meine eigene Leitung nicht stundenlang zu blockieren. Seitdem es iSyndica gibt, hat sich das Thema auch relativiert, denn für wenig Geld in monat kann man sie getrost den Job machen lassen für 1 cent pro Bild. Grüße
Alex
Hi,
als Problem sehe ich aber noch ‚haengende‘ FTPs bzw. Fehlermeldungen – wir haben zB. einen Kunden der nur x MB/10min. reinlaesst, da muss der Upload oefter neu angeschubst werden – wie loest ihr das oder andere Abbrueche?
Gruesse,
c‑v
@Teezeit:
Ich habe mir gerade mal die Beschreibung zu Fling angeschaut, da konnte ich davon nichts lesen, dass das Programm gleichzeitig Bilder zu mehreren Servern schicken kann. Kannst Du mir noch was genaueres dazu sagen?
DANKE !!!
Liebe Grüße, Karsten