發新話題
打印

自動備份cPanel資料

自動備份cPanel資料

簡介:使用cron jobs備份cPanel資料並上傳到指定ftp伺服器.

進入cPanel Cron Jobs依照您的習慣選Standard或Advanced(Unix style),
設定自己需要的執行備份時間,
command輸入
複製內容到剪貼板
代碼:
/usr/local/bin/php /home/account/fullbackup.php
/home/acount/fullbackup.php
是假設您的主目錄為/home/account/
而fullbackup.php放在主目錄下,
如果不是請自行更改為您的設定.
fullbackup.php已經有提供訊息通知,
cron job的信件通知可以不填.


注意:
請將fullbackup.php設定為600,
並且不要放在public_html資料夾下,
檔案包含使用者帳號密碼,
您將自己承擔使用風險.

進入cPanel http://yourdomain:2082/frontend/rvblue/
其中rvblue即為正在使用的cPanel樣版.

以下是fullbackup.php內容
複製內容到剪貼板
代碼:
<?php

// 此PHP程式將定期自動產生cPanel備份,
// 以max.hedroom在cpanel.net論壇的文章為程式基礎,
// 這個程式包含密碼, 請注意檔案安全.
// 中文翻譯: Max, [email protected]

// ********* 下列項目需要設定 *********

// cPanel登入資訊
$cpuser = "username"; // 登入cPanel的帳號
$cppass = "password"; // 登入cPanel的密碼
$domain = "example.com"; // cPanel使用的網域
$skin = "monsoon"; // 設定正在使用的cPanel樣版(例如:x, rvblue)

// FTP上傳的資訊
$ftpuser = "ftpusername"; // FTP帳號
$ftppass = "ftppassword"; // FTP密碼
$ftphost = "ftp.example.com"; // FTP伺服器網址(或ip)
$ftpmode = "ftp"; // FTP模式("ftp"或"passiveftp")

// 通知資訊
$notifyemail = "[email protected]"; // 寄發執行結果的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&amp;email=$notifyemail&amp;server=$ftphost&amp;user=$ftpuser&amp;pass=$ftppass&amp;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);

?>
參考資料
http://www.totalchoicehosting.com/fo...showtopic=7787

TOP

發新話題