Zoek script automatisch een bestand uploaden

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

TeeSee vierenzestig

TeeSee vierenzestig

07/12/2010 14:38:36
Quote Anchor link
Hallo,

Ik ben dringend op zoek naar een (php) script om automatisch een bestand wat op server1 staat te downloaden naar server2.

Ik zal het iets duidelijker proberen uit te leggen:

Op server-1 staan foto's. Deze foto's wisselen een aantal keer per dag. (Het gaat om satelliet beelden) Om deze foto's weer te kunnen geven op mijn website moet ik een aantal keer per dag (op vaste tijden) deze foto's downloaden van server-1 en deze vervolgens uploaden naar server-2.
(Hotlinken is geen optie ivm dataverkeer beperking van server-1)

Ik doe dit nu handmatig door op mijn pc de foto's te downloaden en vervolgens weer te uploaden.

Graag zou ik iets hebben wat dit proces voor mij kan automatiseren.

Het liefst een (php) script wat ik dmv een cronjob op de server kan uitvoeren.

wat moet het script precies kunnen:

- foto's downloaden van server-1
- op server-2 de oude foto's wissen (of desnoods overschrijven door de nieuwe)
- foto's van server 1 uploaden naar server-2
- Log bestandje aanmaken zodat ik kan controleren of de down/upload is uitgevoerd en of alles goed gegaan is.



Nu mijn vraag...

Bestaat er zoiets? Heb al gezocht met google maar eigenlijk niets kunnen vinden wat geschikt is.

Het liefst een freeware oplossing, het is voor mij ook maar een hobby ;-)

Alvast bedankt voor de reacties!


Groet,
Theo
 
PHP hulp

PHP hulp

24/11/2024 06:25:25
 
Karel hertens

karel hertens

07/12/2010 15:17:42
Quote Anchor link
Je moet dus een cronjob draaien op server2 die:
-verwijderen/archieveren oude foto's
-nieuwe foto's van server 1 download?
- tijd, errors? naar bestand schrijven

Zoek op google eens op curl, wget, fread download dit zijn 3 manieren om te downloaden met php.

Klein functie voorbeeld:
$locationimage = "http://www.voorbeeldimages.ltd/images.jpg ;
$iconname = "naamiconlocal.jpg" ;
function geticon($locationimage, $iconname) {
global $rootpath ;
$localfile = $rootpath."upicon/".$iconname ;
exec("/usr/bin/wget $pornpic -O $localfile") ;
return $localfile ;
}
Afijn, deze function gebruikt wget om een bestand te downloaden naar een lokaal bestand ":)
 
John D

John D

07/12/2010 15:22:58
Quote Anchor link
Moet het absoluut met php of kan je in de cron ook linux/unix commands/script schedulen? Een OS script is eenvoudig en snel, gebruik dan scp (secure copy).
 
TeeSee vierenzestig

TeeSee vierenzestig

07/12/2010 15:32:27
Quote Anchor link
Het liefst zou ik een php script hebben omdat ik een beetje overweg kan met php.

Maar uiteraard zijn andere oplossingen ook welkom. Uiteindelijk gaat het om het resultaat!

De server die ik gebruik (server-2) draait onder linux en daar heb ik root toegang op. (dedicated server) Echter, server-1 kan ik alleen via web benaderen. Dit is een server van een meteo dienst.
Gewijzigd op 07/12/2010 15:35:43 door TeeSee vierenzestig
 
John D

John D

07/12/2010 15:47:38
Quote Anchor link
Dan moet je downloaden van server 1 middels wget. wget is een unix/linux command en daarmee kan je vanuit een linux cron script werken of via exec() van php. Eigenlijk is php dan een extra schil om het os command hetgeen eigenlijk niet nodig is met name omdat je op server 2 root access hebt! Maak met vi een bestandje aan haal_bestanden.sh en zet daar je commands in:
rm -f /full_path/bestand1 /full_path/bestand2 /full_path/bestand3
of rm -f /full_path/*.jpg
wget http://meteoserver.xx/bestand1.jpg
wget http://meteoserver.xx/bestand2.jpg
wget http://meteoserver.xx/bestand3.jpg
save het bestand en chmod het naar 766
en schedule dat in de cron. Zoek op google even howto cron.
crontab -e
10 11 * * * /root/haal_bestanden.sh >/root/haal_bestanden.log

eenvoudige dan php toch??
Gewijzigd op 07/12/2010 15:48:50 door John D
 
- SanThe -

- SanThe -

07/12/2010 15:52:56
Quote Anchor link
John D op 07/12/2010 15:47:38:
... en chmod het naar 766


Je bedoelt 644 neem ik aan.
 
Karel hertens

karel hertens

07/12/2010 17:07:20
Quote Anchor link
Ik zou ook perl gebruiken(shell script) sneller en makkelijker.
Je moet het bestand waarschijnlijk chmodden naar 777 of 755 als shared is.
 
TeeSee vierenzestig

TeeSee vierenzestig

07/12/2010 18:22:10
Quote Anchor link
Bedankt voor de reacties!

Ik ga hier eens mee aan de slag. Kijken of het me gaat lukken.

Ik laat nog even weten of het gelukt is.

Groet,
Theo
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.