cPanel面板主机完整自动定时备份传FTP教程

时间:2011年12月22日 栏目:其他资源 作者:赵 容 点击: 16,103 次

我们现在购买的国外主机,一般都使用cPanel面板。网站数据的重要性我想不用我说都理解,那就是站长的命根子,咱也不能把命根子寄在那些主机商身上,所以,你如何备份你的数据?是每天登陆cPanel后台,手动备份?如果是这样子,就有点麻烦,今天,我们分享一个利用cPanel面板的定时任务来自动cPanel定时备份上传FTP到其他空间的方法。

首先,我们需要了解下这个方式实现的效果和原理。这是利用cPanel面板的时钟守护作业自动定时实现全局备份,然后FTP上传至自己指定的其他FTP空间(或者服务器)。

然后,我们将下面的代码复制存为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 = "vpsaa"; // CPanel帐号
$cppass = "123456"; // CPanel密码
$domain = "*.*.*.*"; // cPanel所在域名或IP
$skin = "x3"; // 正在使用的cPanel风格,默认"x3"。

/************** 备份目的地 *************** "homedir" - 本地主目录 "ftp" - 远程FTP备份(主动模式) "passiveftp" - 远程FTP备份(被动模式) "scp" - 加密传输(需服务器支持) ****************************************/
$savedir = "ftp"; // 备份目的地,默认"ftp",直接将备份传至FTP空间。

// FTP上传的信息(备份目的地为本地的,可不填)

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

// 通知信息
$notifyemail = "admin@zrblog.net"; // 信息反馈邮件地址,自行修改

// 安全模式
$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);

?>

 

请注意上面代码中的部分内容,请根据您自己的信息设定。或者,您可以下载这份文件自行修改:点击下载backup.php

接下来,我们打开cPanel文件管理器,在根目录的上级目录(即public_html同级目录)建议一个文件夹:backup,然后将我们修改好的脚本(backup.php)传入该文件夹。

***特别提示***基于安全方面考量,请将backup文件夹权限设定为700(最好设定为600,但经测试部分主机设定backup文件夹为600之后,文件夹内的脚本权限自动成为000,导致自动任务运行访问被拒绝!)

下面,登陆我们的cPanel面板,点击“时钟守护作业”

cpanel-1

然后,添加时钟守护作业:

php -q /home/你的名称/backup/backup.php

cpanel-2

***关于时钟守护作业,我们可以设定他的运行方式,每天一次,或者每周一次。我建议大家设定每周一次,另外,cPanel定时备份运行的时间可以选择在深夜或者凌晨,对网站访问无影响时间段。***

好了,做好这些以后,在我们设定的时间,CP自动备份就完成了,去我们设定的FTP空间就能看到我们的网站全局备份资料。

高防VPS/洛杉矶高防/高防服务器/20年老牌机房

声明: 博客仅为分享信息绝非推荐,网站不参与交易绝非中介,内容均仅代表个人观点绝非权威,读者请自行考虑后入手并自担风险!一分钱一分货仍是恒久不变之真理,未成年读者(包括生理和心理)请在监护人陪同下访问本站!本文由( 赵 容 )原创编译,转载请保留链接: cPanel面板主机完整自动定时备份传FTP教程码字不易,谢绝复制粘贴!
关于使用: 本站主要分享服务器及VPS信息,不提供任何产品销售及代购,所有访客朋友请在国家法律法规许可范围内购买和使用产品,QQ群讨论:683851361.
关于安全: 任何IDC都有倒闭和跑路的可能,主机线路更不可控,月付和备份是您的最佳选择,请保持良好的、有规则的备份习惯.

cPanel面板主机完整自动定时备份传FTP教程:目前有31 条留言

  1. 14楼
    Colin:

    php -q /home/你的名称/backup/fullbackup.php

    这句应该改为

    php -q /home/你的名称/backup/backup.php

    如果一切按照教程走。。。

    2018-01-23 13:01 [回复]
    • 赵 容:

      额,对的!
      已修正!

      2018-01-23 13:02 [回复]
  2. 13楼
    Jim:

    后台是xxx.xxx.xxx.xxx/cpsess6767178247/frontend/paper_lantern/ 啊,咋办,那串数字会变

    2016-06-28 12:44 [回复]
  3. 正好需要,提走了,谢谢

    2015-06-23 21:31 [回复]
  4. 11楼
    Zorro:

    能不能作为附件发送到邮箱啊?

    2013-06-15 23:24 [回复]
    • 赵 容:

      好像是可以的吧。

      2013-06-15 23:40 [回复]
      • Zorro:

        那该怎么写呢?

        2013-06-15 23:46 [回复]
        • 赵 容:

          可以参考下这个脚本中的内容,我也没有试过。
          http://www.zrblog.net/6581.html

          2013-06-15 23:53 [回复]
          • Zorro:

            😡 ,VPSAA的主机不支持mutt,悲剧了发不了备份邮件。。。

            2013-06-16 00:07 [回复]
            • 赵 容:

              CP发邮件靠的php mail组件,怎么可能不支持。
              人家那些wordpress的博客装的自动备份数据库到邮箱的怎么弄的。
              你要想想,把网站所有数据打包,发到邮箱,这个附件是多大,能不能过,这些问题。

              2013-06-16 00:10 [回复]
              • mutt: command not found
                搞不懂了,因为没有其他的错误提示,我查了说这样就是mutt不支持了,具体也搞不清楚了。

                2013-06-16 00:11 [回复]
                • 赵 容:

                  WP的直接后台用插件备份发到邮箱就可以了。

                  2013-06-16 00:37 [回复]
                  • 可惜我不是要备份WP,我折腾的一个单独的文件夹,不懂技术真是麻烦。

                    2013-06-16 00:38 [回复]
                    • 赵 容:

                      自动备份传FTP就好了。

                      2013-06-16 00:42 [回复]
  5. 10楼
    ヾ习惯守护你:

    这个下载地址好像失效了,貌似是115网盘的吧

    2012-10-17 19:00 [回复]
    • 赵 容:

      嗯,是115的,我刚修改了,国内的网盘真心伤不起。

      2012-10-17 21:25 [回复]
      • ヾ习惯守护你:

        是伤不起,凑合用吧 👿

        2012-10-18 09:16 [回复]
  6. 9楼
    米多多:

    运行此脚本后 会产生类似【PHP Warning: PHP Startup: Unable to load dynamic library ‘/usr/lib/php/extensions/no-debug-non-zts-20060613/suhosin.so’ – /usr/lib/php/extensions/no-debug-non-zts-20060613/suhosin.so: cannot open shared object file: No such file or directory in Unknown on line 0】三条错误日志 请问博主什么原因 另外备份是成功的

    2012-07-10 08:25 [回复]
    • 赵 容:

      这个貌似是跟php.ini里面哪里的设定有冲突之类的,不过备份成功了就木有问题啦~~~

      2012-07-10 08:28 [回复]
  7. 8楼
    moro:

    请问一下如何实现只备份上传数据库

    2012-06-04 20:46 [回复]
    • 赵 容:

      仅备份数据库的话,修改备份源码,或者直接用网站备份类的插件。

      2012-06-04 21:02 [回复]
  8. 7楼
    kl:

    数据库也备份了嘛

    2012-02-29 22:19 [回复]
    • 赵 容:

      是的,完整打包备份。

      2012-03-01 08:24 [回复]
  9. 6楼
    孤雨:

    这个果断转走~嘿嘿

    2012-02-22 22:17 [回复]
  10. 5楼
    神爱:

    我网站在用多说!
    我用的是sh脚本!没用php的

    2012-02-21 22:00 [回复]
  11. 4楼
    软妹控:

    建议用多说的评论插件~

    2012-02-21 16:01 [回复]
    • 赵 容:

      恩,介绍过这个,木有用过,嘿嘿,下次耍耍看~

      2012-02-21 16:02 [回复]
  12. 地板
    软妹控:

    这个不错,VPS可以用SHELL脚本,CP空间可以用这个!

    2012-02-21 15:57 [回复]
  13. 板凳
    宋小二:

    感谢容妞,已经执行!坐等见效! 😳 😳

    2012-02-21 12:48 [回复]
    • 赵 容:

      很多朋友使用这个方法定时备份,我自己也在某些站点使用。

      2012-02-21 12:50 [回复]
  14. 沙发
    chengfeng:

    这正是各位站长需要的啊!泪流满面啊!CP强大,但能应用自如的国内站长屈指可数,何况像我这样的小白!支持赵容!

    2011-12-22 18:12 [回复]

发表评论


hostyun locvps

广而告之