PHPスクリプトを実行するCRONをセットアップして、XMLファイル(機密情報を保持していない)をあるサーバーから別のサーバーに移動したいと思います。
適切なユーザー名/パスワードが与えられており、SFTPプロトコルを使用したいと考えています。ジョブは毎日実行されます。一方のサーバーがLinuxで、もう一方のサーバーがWindowsである可能性があります。どちらも異なるネットワーク上にあります。
そのファイルを移動するための最良の方法は何ですか?
PHPスクリプトを実行するCRONをセットアップして、XMLファイル(機密情報を保持していない)をあるサーバーから別のサーバーに移動したいと思います。
適切なユーザー名/パスワードが与えられており、SFTPプロトコルを使用したいと考えています。ジョブは毎日実行されます。一方のサーバーがLinuxで、もう一方のサーバーがWindowsである可能性があります。どちらも異なるネットワーク上にあります。
そのファイルを移動するための最良の方法は何ですか?
両方のサーバーが Linux 上にある場合、あらゆる種類のファイル (php、xml、html、バイナリなど) にrsyncを使用できます。それらの 1 つが Windows であっても、Windows への rsync ポートがあります。
PHPのFTP機能を使ってみませんか?
次に、次のようなことができます。
// 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);
shell_execとscpを使用しないのはなぜですか?
<?php
$output = shell_exec('scp file1.txt dvader@deathstar.com:somedir');
echo "<pre>$output</pre>";
?>
似たような状況がありました。いくつか試した後、私は別のことをしました
2 つのサーバー、a (元のファイルがある) b (ファイルをそこに移動する必要があります) があります。
そして確かにデータは機密ではありません
サーバーaで、呼び出されたときに次のことを行うファイルを作成しました。 1.移動するファイルを選択します 2.ファイルを圧縮します 3..zipファイルの場所を印刷しますパラメータパス
サーバー b では、ファイルは次のことを行う必要があります。 1. サーバー a でファイルを呼び出します。 2. zip ファイルをダウンロードします。 3. 解凍して適切な場所にコピーします。 4. サーバー a で削除関数を呼び出します。
このようにして、機能、テスト、および操作をより詳細に制御できます。