2008-10-28 4 views
5

PHP 스크립트를 실행하는 CRON을 설정하여 XML 파일 (중요하지 않은 정보 포함)을 한 서버에서 다른 서버로 이동시키는 설정을 원합니다.PHP를 사용하여 한 서버에서 다른 서버로 파일을 옮기는 가장 좋은 방법은 무엇입니까?

나는 적절한 사용자 이름/암호가 주어졌으며 SFTP 프로토콜을 사용하려고합니다. 작업은 매일 실행됩니다. 한 서버가 Linux이고 다른 서버가 Windows 일 가능성이 있습니다. 둘 다 다른 네트워크에 있습니다.

해당 파일을 이동하는 가장 좋은 방법은 무엇입니까?

답변

6

당신은 파일 (PHP, XML, HTML, 이진 등) 모든 종류의 rsync를 사용할 수 있습니다. 그 중 하나가 Windows가 되더라도 Windows에 rsync 포트가 있습니다.

+0

rsync도 좋습니다. – wprl

5

shell_execscp을 사용하지 않으시겠습니까? 두 서버가 리눅스 될 경우

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

하지만, 일부 구성이 필요할 수 있습니다 :

그럼 당신처럼 뭔가를 할 수 http://www.google.com/search?q=+password-less을 + SSH + 로그인 –

7

왜 PHP를 사용하지 않으시겠습니까 FTP functions? SCP는 매우 편리하고 강력한 도구입니다

// 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); 
관련 문제