强大的cpanel,自动备份到ftp

我又从强人网络回到woothosing了。主要是因为woothosing采用cpanel面板,这样我就可以每天24小时自动备份一次并上传到ftp.

我用的方法是定时运行php(本来是可以跑脚本的,但是这个woothosing很多命令都不支持,我又没有SSH权限,所以网上流全的ftp备份脚本就用不了了,只能用php)

php代码如下,空缺的地方就补上,没空的不要改,我亲测可以使用,如有问题请在下方留言。

<?php
// PHP script to allow periodic cPanel backups automatically.
// Based on script posted by max.hedroom in cpanel.net forums
// This script contains passwords.  KEEP ACCESS TO THIS FILE SECURE!
 
// ********* 下面项目请大家根据自己的情况设定 *********
 
// cPanel登录信息
$cpuser = ""; // CPanel帐号
$cppass = ""; // CPanel密码
$domain = ""; // cPanel所在域名或IP
$skin = "paper_lantern"; // 正在使用的cPanel风格,默认"x3"。


/************** 备份目的地 ***************
"homedir" - 本地主目录
"ftp" - 远程FTP备份(主动模式)
"passiveftp" - 远程FTP备份(被动模式)
"scp" - 加密传输(需服务器支持)
****************************************/
$savedir = "passiveftp"; // 备份目的地,默认"ftp",直接将备份传至FTP空间。

// FTP上传的信息(备份目的地为本地的,可不填)

$ftpuser = ""; // FTP帐号
$ftppass = ""; // FTP密码
$ftphost = ""; // FTP服务器IP
$ftpport = "21"; // FTP端口,默认21
$ftprdir = "/"; // 远程FTP目录,默认"/"

// 通知信息
$notifyemail = ""; // 信息反馈邮件地址,自行修改

// 安全模式
$secure = 1; // 0为标准http, 1为ssl(需要主机支持ssl)

// 设定值为1时会在排程记录中产生网页报告
$debug = 1;

// *********** 以下内容请勿更改! *********
  
if ($secure) {
   $url = "ssl://".$domain;
   $port = 2083;
} else {
   $url = $domain;
   $port = 2082;
}

$socket = fsockopen($url,$port);
if (!$socket) { echo "Failed to open socket connection... Bailing out!\n"; exit; }

// Encode authentication string
$authstr = $cpuser.":".$cppass;
$pass = base64_encode($authstr);

$params = "dest=$savedir&email=$notifyemail&server=$ftphost&user=$ftpuser&pass=$ftppass&port=$ftpport&rdir=$ftprdir&submit=Generate Backup";

// Make POST to cPanel
fputs($socket,"POST /frontend/".$skin."/backup/dofullbackup.html?".$params." HTTP/1.0\r\n");
fputs($socket,"Host: $domain\r\n");
fputs($socket,"Authorization: Basic $pass\r\n");
fputs($socket,"Connection: Close\r\n");
fputs($socket,"\r\n");

// Grab response even if we don't do anything with it.
while (!feof($socket)) {
   $response = fgets($socket,4096);
   if ($debug) echo $response;
}

fclose($socket);

?>

推荐一ftp网盘

我是飞机  注意,注册时候有爱国验证码,所以要梯子,以后登录就不用了。

ok,用cpanel时钟守护定时执行就ok了

仅有 1 条评论
  1. 初相识

    看了这篇文章我突然也想到 自己也写个类似这样来备份自己的数据,虽然如今也没啥数据

    初相识 回复
发表新评论