用php一个跨服务器备份脚本
时间: 2024-03-01 21:55:32 浏览: 21
好的,以下是一个用 PHP 编写的跨服务器备份脚本示例:
```php
<?php
// 源服务器信息
$source_host = '源服务器地址';
$source_user = '源服务器用户名';
$source_pass = '源服务器密码';
$source_dir = '源服务器备份目录';
// 目标服务器信息
$target_host = '目标服务器地址';
$target_user = '目标服务器用户名';
$target_pass = '目标服务器密码';
$target_dir = '目标服务器备份存储目录';
// 连接源服务器
$source_conn = ftp_connect($source_host);
ftp_login($source_conn, $source_user, $source_pass);
ftp_pasv($source_conn, true);
// 连接目标服务器
$target_conn = ftp_connect($target_host);
ftp_login($target_conn, $target_user, $target_pass);
ftp_pasv($target_conn, true);
// 获取源服务器备份文件列表
$files = ftp_nlist($source_conn, $source_dir);
// 遍历备份文件列表
foreach ($files as $file) {
// 下载备份文件到本地
$local_file = basename($file);
ftp_get($source_conn, $local_file, $file, FTP_BINARY);
// 上传备份文件到目标服务器
ftp_put($target_conn, $target_dir . '/' . $local_file, $local_file, FTP_BINARY);
// 删除本地备份文件
unlink($local_file);
}
// 关闭连接
ftp_close($source_conn);
ftp_close($target_conn);
echo '备份完成';
```
这个脚本使用 FTP 协议连接源服务器和目标服务器,遍历源服务器备份目录中的文件列表,将每个备份文件下载到本地,然后上传到目标服务器备份存储目录中。最后关闭连接并输出备份完成信息。你可以根据需要修改服务器信息和备份目录等参数。