Ben bir cron işi başka bir sunucuya SFTP yoluyla bazı rapor dosyaları aktarır her gece olarak çalışan bir komut dosyası yazmak gerekiyor.
Rapor dosyaları formatta başka bir cron kullanarak her gece oluşturulan 'Support_ [tarih]. Csv' & 'Download_ [tarih]. Csv'.
Eğer aşağıdakilerin nasıl herhangi bir işaretçiler olsaydı ben merak ediyorum:
- Son [tarih] oluşturulan 2 dosyaları bulun
- SFTP kullanarak başka bir sunucuya bu dosyaları kopyalamak
Ben ssh2 uzantısını kullanan birkaç PHP betikleri çalıştı, ama boşuna ettik. Bir kabuk komut dosyası kullanarak bunu yapmanın bir yolu var mı? Ben (dolayısıyla başlangıçta PHP rota aşağı gidiyor) dürüst olmak ile derece aşina olduğum bir şey değil
Bu işe yaramadı benim PHP biriydi:
$src = 'test.csv';
$filename = 'test.csv';
$dest = '/destination_directory_on_server/'.$filename;
$connection = ssh2_connect('example.com', 22);
ssh2_auth_password($connection, 'username', 'password');
// Create SFTP session
$sftp = ssh2_sftp($connection);
$sftpStream = fopen('ssh2.sftp://'.$sftp.$dest, 'w');
try {
if (!$sftpStream) {
throw new Exception("Could not open remote file: $dest<br>");
}
$data_to_send = file_get_contents($src);
if ($data_to_send === false) {
throw new Exception("Could not open local file: $src.<br>");
}
if (fwrite($sftpStream, $data_to_send) === false) {
throw new Exception("Could not send data from file: $src.<br>");
} else {
//Upload was successful, post-upload actions go here...
}
fclose($sftpStream);
} catch (Exception $e) {
//error_log('Exception: ' . $e->getMessage());
echo 'Exception: ' . $e->getMessage();
if($sftpStream) {fclose($sftpStream);}
}
Bu bende hata iletileri idi:
Warning: fopen() [function.fopen]: URL file-access is disabled in the server configuration in /path_to_script/sftp-test.php on line 17
Warning: fopen (ssh2.sftp :/ / Resource id
3/destination_directory_on_server/test.csv)
[function.fopen]: failed to open stream: no suitable wrapper could be found in /path_to_script/sftp-test.php on line 17 Exception: Could not open remote file: /destination_directory_on_server/test.csv