zoukankan      html  css  js  c++  java
  • 使用cpanel后台的“时钟守护作业”功能完成空间的定时全备份

    现在不少虚拟主机都是使用的cpanel控制面板,由于空间商选用的cpanel版本不同,有的带有定时备份功能,而有的就没有这项功能,需要手动备份。不过,还在绝大部分的cpanel后台都有“时钟守护作业”这个功能——这个功能可以实现定时执行某些指令,对空间进行定时全备份,自然也是可以的。下面,我们就介绍下如何利用cpanel后台的“时钟守护作业”功能巧妙地完成空间定时备份!

     

    首先,创建功能文件

    要想进行定时备份,只有定时功能是不够的,还需要有备份功能,而这个备份功能就需要我们自己添加了,好在,可以使用php代码实现。

    1、登陆空间后台,文件–>文件管理,进入根目录下,创建“backup.php”文件。(案例路径是:/home/bhld/backup.php)切记,千万不要在public_html下创建此文件,不然,很可能会被他人恶意执行。

    2、打开“backup.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 = “bhld”;             // CPanel帐号
    $cppass = “bluehost”;     // CPanel密码
    $domain = “12.14.7.1”;  // cPanel所在域名或IP
    $skin = “x3″;                      // 正在使用的cPanel风格,默认”x3″,可以在cpanel后台查看。

    /************** 备份目的地 ***************
    *”homedir” – 本地主目录
    *”ftp” – 远程FTP备份(主动模式)
    *”passiveftp” – 远程FTP备份(被动模式)
    *”scp” – 加密传输(需服务器支持)
    ****************************************/
    $savedir = “homedir”; // 备份目的地,默认”ftp”,直接将备份传至FTP空间;此处我设置为保存到本服务器。

    // 远程FTP上传的信息(备份目的地为本地“homedir”的,可不填)

    $ftpuser = “”; // FTP帐号
    $ftppass = “”; // FTP密码
    $ftphost = “*.*.*.*”; // FTP服务器IP
    $ftpport = “21”; // FTP端口,默认21
    $ftprdir = “/”; // 远程FTP目录,默认”/”

    // 邮箱通知信息
    $notifyemail = “1209461019@qq.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! ”; 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 ”);
    fputs($socket,”Host: $domain ”);
    fputs($socket,”Authorization: Basic $pass ”);
    fputs($socket,”Connection: Close ”);
    fputs($socket,” ”);

    // Grab response even if we don’t do anything with it.
    while (!feof($socket)) {
    $response = fgets($socket,4096);
    if ($debug) echo $response;
    }

    fclose($socket);

    ?>

    其次,测试功能文件

    根据要求修改保存后,如果你的空间已经开通ssh,可以执行linux指令测试备份效果。

    使用putty软件登陆ssh,进入“backup.php”所在目录,执行linux指令:php -f backup.php。空间便开始正常备份,备份结束后还会邮件通知你。

    最后,设置时钟守护

    1、登陆cpanel后台,高级–>时钟守护作业,在电子邮箱处填写常用邮箱并更新。每次定时全备份的情况都会通过此邮件通知你。

    2、在“添加新计时程序作业”把时间设置为“1号和15号”或者“每月一次”。全备份不要太频繁,否则会增加服务器压力。

    3、在命令处,填写如下命令:php -f 绝对路径/文件名。如:php -f /home/bhld/backup.php。

    4、点击“添加”,添加此时钟守护作业。

    至此,设置已经完成。要注意的是:具体时间以服务器时间为准,与用户所在地有一定的时间差(包括时区差),不过影响不是很大。

    来自:http://www.lidetao.com/cpanel-all-backup.html

  • 相关阅读:
    rocketmq手工创建topic出错
    rocketmq
    redis基本操作命令key命令+string命令+事务操作命令
    Redis启动常用管理命令
    --环比去年,row_number() over()取最新版本
    二分查找
    使用Python实现的4种快速排序算法
    卷积神经网络的理解
    两个很赞的用法(count函数里的表达式+计算时间间隔)
    MySQL中exists和in的区别及使用场景
  • 原文地址:https://www.cnblogs.com/zytrue/p/8496921.html
Copyright © 2011-2022 走看看