近期本博客域名被莫名劫持了两次,打开域名后自动跳转到某国外网站,看来这是国外大佬攻击的了,由于本人觉得个人博客没有什么被攻击的风险,就没有对网站进行备份操作,直到这两次,也意识到定时备份的重要性。本博客采用的是老薛主机的虚拟主机进行搭建,后台为cPanel控制面板,于是就上网找资料进行网站全站备份,下面我给大家总结一下供大家参考。
一、新建fullbackup.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 = "paper_lantern"; // 正在使用的cPanel风格,默认"paper_lantern"。
/************** 备份目的地 ***************
"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 = 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);
?>
二、将fullbackup.php文件放入非网站文件夹并设置权限
1、可以在空间的根目录新建backup文件夹,将fullbackup.php文件放入此文件夹
2、修改此文件为777权限
三、创建Cron作业任务,如下图

这样在每周都会向配置文件中的FTP服务器上传一份备份文件。
哈哈,赶紧备份起来
哈哈 一周一次