网站备份的重要性,不言而喻,那些使用免费空间的朋友就更不用说了。但是,为此都天都要登录管理后台,然后手动备份,那个是什么滋味?如果你使用的是cPanel面板的话,那就好办多了。
一、备份原理:
下面这个方案是原理是利用cPanel的时钟守护作业(Cron Jobs)来定时运行全局备份脚本,并自动将备份文件通过 FTP 上传到其他的服务器来实现的。
二、下载脚本:
立即下载,或者将下面内容复杂到编辑器,另保存为 fullbackup.php
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74
|
<?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 = "wangyan"; // CPanel帐号 $cppass = "123456"; // CPanel密码 $domain = "192.168.0.101"; // cPanel所在域名或IP $skin = "x3"; // 正在使用的cPanel风格,默认"x3"。 /************** 备份目的地 *************** "homedir" - 本地主目录 "ftp" - 远程FTP备份(主动模式) "passiveftp" - 远程FTP备份(被动模式) "scp" - 加密传输(需服务器支持) ****************************************/ $savedir = "homedir"; // 备份目的地,默认"homedir",即只做本地备份。 // FTP上传的信息(备份目的地为本地的,可不填) $ftpuser = "wangyan"; // FTP帐号 $ftppass = "123456"; // FTP密码 $ftphost = "192.168.0.102"; // FTP服务器IP $ftpport = "21"; // FTP端口,默认21 $ftprdir = "/"; // 远程FTP目录,默认"/" // 通知信息 $notifyemail = "example@domain.com"; // 信息反馈邮件地址 // 安全模式 $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=$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); ?>
|
三、警示声明:
这个全局脚本包含cPanel的登录帐号和密码,为了安全考虑,需要将这个脚本放到public_html文件夹以外的文件夹中,比如:“/home/yourname/backup”,并设置该文件夹的权限为600。切记!
四、配置步骤:
1、修改上述脚本,保存为“fullbackup.php”。
注:FTP信息填的是存储备份文件的主机;Ftphost记住填IP,不要填域名;FTP模式有的主机要改为“passiveftp”模式。
2、将上述脚本上传到“/home/yourname/backup”目录。(没有可以新建backup目录)
3、将backup目录的权限改为600
五、图解CRON(时钟守护作业)配置:
1、点击“时钟守护作业”图标,然后选择“高级”模式。
2、选择备份的时间周期,然后在命令框中输入
/usr/bin/php -q /home/yourname/backup/fullbackup.php
3、自动备份完成后,在主机的根目录便可看到已备份的文件了。
哈哈,怎样啊?数据安全就这么简单吧~~ ;-)