CPanel面板是一款非常強大的虛擬主機管理面板了,如果你是空間商估計這個cp面板你不陌生哦,下面我來介紹利用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 = "x3"; // 正在使用的cPanel風格,默認"x3"。
/************** 備份目的地 ***************
"homedir" - 本地主目錄
"ftp" - 遠程FTP備份(主動模式)
"passiveftp" - 遠程FTP備份(被動模式)
"scp" - 加密傳輸(需服務器支持)
****************************************/
$savedir = "ftp"; // 備份目的地,默認"homedir",即只做本地備份。
// FTP上傳的信息(備份目的地為本地的,可不填)
$ftpuser = "***"; // FTP帳號
$ftppass = "***!"; // FTP密碼
$ftphost = "***"; // FTP服務器IP
$ftpport = "21"; // FTP端口,默認21
$ftprdir = "/"; // 遠程FTP目錄,默認"/"
// 通知信息
$notifyemail = "**@gmail.com"; // 信息反饋郵件地址
// 安全模式
$secure = 1; // 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=$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.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)) {
以上代碼復制保存為: fullbackup.php文件,上傳到public_html以外的目錄
這個全局腳本包含cPanel的登錄帳號和密碼,為了安全考慮,需要將這個腳本放到public_html文件夾以外的文件夾中,比如:“/home/yourname/backup”,並設置該文件夾的權限為600。切記!
2.填寫好相關信息,修改文件名為fullbackup.php
3.將上述腳本上傳到“/home/yourdomain/beifen”目錄。(沒有可以新建beifen目錄)
4.將beifen目錄的權限改為600
5.打開cpanel面板的時鐘守護作業(Cron Jobs)。
選擇作業頻率,在command欄輸入
代碼如下
復制代碼
1 /usr/bin/php -q /home/yourname/backup/fullbackup.php