To tak potrzebuje skryptu do cron'a który będzie pobierał plik zip na stronę z ftp.
Skrypt:
<?
$serwer = "xxx";
$login = "xxx";
$haslo = "xxx";
$plik_zdalny = "rp.zip";
$plik_lokalny = "rp.zip";
$f = ftp_connect($serwer);
echo "Łączenie: ";
if ($f) {
echo "Udane<br>";
$logowanie = ftp_login($f, $login, $haslo);
echo"Logowanie: ";
if ($logowanie) {
echo "Udane<br>";
echo "Aktualna lokalizacja: " . ftp_pwd($f) . "<br>";
ftp_chdir($f, "xxxxxxxx");
echo "Aktualna lokalizacja: " . ftp_pwd($f) . "<br>";
ftp_chdir($f, "plugins");
echo "Aktualna lokalizacja: " . ftp_pwd($f) . "<br>";
ftp_chdir($f, "ModelEngine");
echo "Aktualna lokalizacja: " . ftp_pwd($f) . "<br>";
$d = ftp_get($f, $plik_lokalny, $plik_zdalny, FTP_BINARY);
echo "Pobieranie: ";
if ($d) {
echo "Udane<br>";
} else { echo "NIE UDANE<br>"; }
} else { echo "NIE UDANE<br>"; }
ftp_quit($f);
} else { echo "NIE UDANE<br>"; }
?>
Wynik:
Łączenie: Udane
Logowanie: Udane
Aktualna lokalizacja: /
Aktualna lokalizacja: /xxxxxxxx
Aktualna lokalizacja: /xxxxxxxx/plugins
Aktualna lokalizacja: /xxxxxxxx/plugins/ModelEngine
Warning: ftp_get(): Rejected data connection to foreign address AA.AAA.AAA.AA:BBBBB. in /katalog_pliku_php/index.php on line 24
Pobieranie: NIE UDANE
Próbowałem też z pełną ścieżką do pliku do pobrania:
$plik_zdalny = "/xxxxxxxx/plugins/ModelEnginerp/rp.zip";
$plik_lokalny = "rp.zip";
Z tego co zauważyłem w miejscu BBBBB pojawia się losowy port nie rozumiem czemu. Plik do pobrania jest dość mały ma około 125B i raczej nie przekroczy nigdy kilku MB.
Jeżeli ktoś ma ochotę pogrzebać i podać jeszcze jakiś skrypt albo podpowiedzieć jak zrobić SHA1 z pliku przy użyciu php dla np tego pliku zip to będę wdzięczny.