migrar - copiar de un servidor a otro php
¿Cuál es la mejor manera de mover archivos de un servidor a otro con PHP? (3)
Quiero configurar un CRON que ejecute un script PHP que a su vez mueve el archivo XML (que contiene información no confidencial) de un servidor a otro.
Me dieron el nombre de usuario / contraseña apropiado, y quiero usar el protocolo SFTP. Los trabajos se ejecutarán todos los días. Existe la posibilidad de que un servidor sea Linux y el otro sea Windows. Ambos están en diferentes redes.
¿Cuál es la mejor manera de mover ese archivo?
¿Por qué no intentar usar las funciones FTP de PHP?
Entonces podrías hacer algo como:
// 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);
¿Por qué no usar shell_exec y scp ?
<?php
$output = shell_exec(''scp file1.txt [email protected]:somedir'');
echo "<pre>$output</pre>";
?>
Si ambos servidores estuvieran en Linux, podrías usar rsync para cualquier tipo de archivo (php, xml, html, binary, etc.). Incluso si uno de ellos será Windows, hay puertos rsync para Windows.