返回官网

python,php同步远程文件夹代码

狒狒 2023-8-29 python 204 次
python同步远程文件夹代码
import paramiko
import os
# SSHClient
ssh = paramiko.SSHClient()
# 
ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())
# 
ssh.connect("hostname", "port", "username", "password")
# 
remotepath = "/home/remote/example/"
stdin, stdout, stderr = ssh.exec_command('cd ' + remotepath)
# 
sftp = ssh.open_sftp()
# 
sftp.get(remotepath, '/home/local')
# 
sftp.close()
ssh.close()
php同步远程文件夹代码

<?php

// 
$connection = ssh2_connect('hostname', 'port');
if (ssh2_auth_password($connection, 'username', 'password')) {echo "Connected\n";} 
else {die('Connection Failed');
// $remotepath = '/home/remote/example/';
ssh2_exec($connection, 'cd ' . $remotepath);// 
$sftp = ssh2_sftp($connection);// 
$localpath = '/home/local';
foreach (ssh2_scandir($sftp, $remotepath) as $filename) {
if ('.' === $filename || '..' === $filename) {continue;}
$file = "{$remotepath}{$filename}";
if (is_dir($file)) {continue;}
$stream = @fopen("ssh2.sftp://{$sftp}{$file}", 'r');
if (!$stream) {throw new \Exception("Could not open file: $file");}
$contents = '';
while (!feof($stream)) {$contents .= fread($stream, 8192);}
fclose($stream);
$destination = $localpath . DIRECTORY_SEPARATOR . $filename;
file_put_contents($destination, $contents);}
?>

发表评论

Copyright © 2016 DEWEBSTUDIO