2008-10-28 9 views
5

Bir PHP betiğini çalıştıran ve daha sonra XML dosyasını (hassas olmayan bilgileri koruyan) bir sunucudan diğerine taşıyan bir CRON oluşturmak istiyorum.Dosyaları bir sunucudan diğerine PHP ile taşımanın en iyi yolu nedir?

Doğru kullanıcı adı/parola verildi ve SFTP protokolünü kullanmak istiyorum. İşler günlük olarak çalışacak. Bir sunucunun Linux ve diğerinin Windows olduğu olasılığı var. Her ikisi de farklı ağlarda.

Bu dosyayı taşımanın en iyi yolu nedir?

cevap

6

dosyaların (php, xml, html, ikili, vs) her türlü rsync kullanabilirsiniz. Bunlardan biri Windows olsa bile, Windows'a rsync portları vardır.

+0

rsync de iyi. – wprl

5

Neden shell_exec ve scp? Her iki sunucular Linux üzerinde olurdu

<?php 
    $output = shell_exec('scp file1.txt [email protected]:somedir'); 
    echo "<pre>$output</pre>"; 
?> 
+0

, ancak bazı yapılandırma gerektirebilir:

Sonra gibi bir şey yapabilirsiniz http://www.google.com/search?q=+password-less + SSH + giriş –

7

Neden PHP'yi FTP functions kullanmayı denemiyorsunuz? scp bir çok kullanışlı ve güçlü bir araçtır

// open some file for reading 
$file = 'somefile.txt'; 
$fp = fopen($file, 'r'); 

// set up basic connection 
$conn_id = ftp_connect($ftp_server); 

// login with username and password 
$login_result = ftp_login($conn_id, $ftp_user_name, $ftp_user_pass); 

// try to upload $file 
if (ftp_fput($conn_id, $file, $fp, FTP_ASCII)) { 
    echo "Successfully uploaded $file\n"; 
} else { 
    echo "There was a problem while uploading $file\n"; 
} 

// close the connection and the file handler 
ftp_close($conn_id); 
fclose($fp);