簡介:使用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, max@max.idv.tw
// ********* 下列項目需要設定 *********
// cPanel登入資訊 $cpuser = "username"; // 登入cPanel的帳號 $cppass = "password"; // 登入cPanel的密碼 $domain = "example.com"; // cPanel使用的網域 $skin = "monsoon"; // 設定正在使用的cPanel樣版(例如 rvblue)
// 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.0rn"); fputs($socket,"Host: $domainrn"); fputs($socket,"Authorization: Basic $passrn"); fputs($socket,"Connection: Closern"); fputs($socket,"rn");
// Grab response even if we don’t do anything with it. while (!feof($socket)) { $response = fgets($socket,4096); if ($debug) echo $response; }
fclose($socket);
?> |
使用cPanel自動備份在備份的同時也會包含主機的帳號密碼,
因此對於備份的檔案安全性要特別注意。
把檔名和目錄位置改變是沒用的,
因為cPanel的完整備份會把工作排程存在cron資料夾中,
只要看過就知道執行自動備份的檔案位置。
若不想備份到主機的帳號密碼可以使用遠端備份,
把工作排程和fullbackup.php放在A主機(不需有cPanel),
只要設定正確一樣能備份B主機的cPanel,
當然也可以在自己的電腦架WWW和FTP伺服器,
不過設定的自動備份時間要配合主機開機時段。
Max, max@max.idv.tw
參考資料
http://www.totalchoicehosting.com/forums/index.php?showtopic=7787
五月 7日, 2004 |