php通过ssh和scp备份网站根目录

之前写了个用php_ftp的脚本用于每天备份网站根目录:https://memo.xuchen.wang/archives/13.html。一直以来觉得ftp实在是太蠢了,实在受不了了,加上我现在存放备份的vps换到了一个没独立ip的nat服务器(gullo2刀的,极力推荐),把之前的脚本拖出来改了改换成了ssh和scp,破费。

<?php
    date_default_timezone_set('Asia/Shanghai');
    $filename="bak".date("Ymd").".tar.gz";
    shell_exec("tar -czf ".$filename." -C / srv");
    $des='/root/baktmp/'.$filename;
    $host='';
    $hostport='';
    $user='';
    $pwd='';
    $remotedir='/srv/bak/';
    $ssh2conn=ssh2_connect($host,$hostport) or die ("ssh connect error");
    ssh2_auth_password($ssh2conn,$user,$pwd);
    ssh2_scp_send($ssh2conn,'/root/'.$filename,$remotedir.$filename,0644) or die ('upload error');
    ssh2_disconnect($ssh2conn);
    rename('/root/'.$filename,$des);    
    echo 'Done.';
?>

发表新评论