|
|
简单的说就是用cPanel的Cron Jobs来定时运行全局备份脚本并自动FTP上传到其他的服务器(或客户端)
附上全局备份脚本,请自行复制修改为正确的配置并保存为fullbackup.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 = "username"; // 登入cPanel的帐号
- $cppass = "password"; // 登入cPanel的密码
- $domain = "example.com"; // cPanel使用的网域
- $skin = "monsoon"; // 设定正在使用的cPanel风格(例如:x, rvblue等,不正确将不能正常运行本脚本)
-
- // FTP上传的信息(这是不是指你CPanel所在服务器的FTP信息)
- $ftpuser = "ftpusername"; // FTP帐号
- $ftppass = "ftppassword"; // FTP密码
- $ftphost = "ftp.example.com"; // FTP服务器网址(或ip)
- $ftpmode = "ftp"; // FTP模式("ftp"或"passiveftp")
-
- // 通知信息
- $notifyemail = "you@example.com"; // 寄发执行结果的e-mail地址
- // 安全模式
- $secure = 0; // 0为标准http, 1为ssl(需要主机支援ssl功能)
-
- // 设定值为1时会在排程记录中产生网页报告
- $debug = 0;
-
- // *********** 以下不需更改 *********
-
- 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=$ftpmode&email=$notifyemail&server=$ftphost&user=$ftpuser&pass=$ftppass&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);
-
- ?>
复制代码 接下来就是上传该文件到非public_html目录下(增加安全性)并在Cron Jobs里面添加定时和备份命令了: |
|