您好!欢迎光临赵容部落O(∩_∩)O~
时间:2011年12月22日 栏目:其他资源 作者:赵 容 点击: 16,426 次
我们现在购买的国外主机,一般都使用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面板,点击“时钟守护作业”
然后,添加时钟守护作业:
php -q /home/你的名称/backup/backup.php
***关于时钟守护作业,我们可以设定他的运行方式,每天一次,或者每周一次。我建议大家设定每周一次,另外,cPanel定时备份运行的时间可以选择在深夜或者凌晨,对网站访问无影响时间段。***
好了,做好这些以后,在我们设定的时间,CP自动备份就完成了,去我们设定的FTP空间就能看到我们的网站全局备份资料。
标签: cPanel定时备份 , cPanel自动备份 , CP自动备份
声明: 博客仅为分享信息绝非推荐,网站不参与交易绝非中介,内容均仅代表个人观点绝非权威,读者请自行考虑后入手并自担风险!一分钱一分货仍是恒久不变之真理,未成年读者(包括生理和心理)请在监护人陪同下访问本站!本文由( 赵 容 )原创编译,转载请保留链接: cPanel面板主机完整自动定时备份传FTP教程码字不易,谢绝复制粘贴! 关于使用: 本站主要分享服务器及VPS信息,不提供任何产品销售及代购,所有访客朋友请在国家法律法规许可范围内购买和使用产品,QQ群讨论:683851361. 关于安全: 任何IDC都有倒闭和跑路的可能,主机线路更不可控,月付和备份是您的最佳选择,请保持良好的、有规则的备份习惯.
php -q /home/你的名称/backup/fullbackup.php
这句应该改为
php -q /home/你的名称/backup/backup.php
如果一切按照教程走。。。
2018-01-23 13:01额,对的!
2018-01-23 13:02已修正!
后台是xxx.xxx.xxx.xxx/cpsess6767178247/frontend/paper_lantern/ 啊,咋办,那串数字会变
2016-06-28 12:44正好需要,提走了,谢谢
2015-06-23 21:31能不能作为附件发送到邮箱啊?
2013-06-15 23:24好像是可以的吧。
2013-06-15 23:40那该怎么写呢?
2013-06-15 23:46可以参考下这个脚本中的内容,我也没有试过。
2013-06-15 23:53http://www.zrblog.net/6581.html
😡 ,VPSAA的主机不支持mutt,悲剧了发不了备份邮件。。。
2013-06-16 00:07CP发邮件靠的php mail组件,怎么可能不支持。
2013-06-16 00:10人家那些wordpress的博客装的自动备份数据库到邮箱的怎么弄的。
你要想想,把网站所有数据打包,发到邮箱,这个附件是多大,能不能过,这些问题。
mutt: command not found
2013-06-16 00:11搞不懂了,因为没有其他的错误提示,我查了说这样就是mutt不支持了,具体也搞不清楚了。
WP的直接后台用插件备份发到邮箱就可以了。
2013-06-16 00:37可惜我不是要备份WP,我折腾的一个单独的文件夹,不懂技术真是麻烦。
2013-06-16 00:38自动备份传FTP就好了。
2013-06-16 00:42这个下载地址好像失效了,貌似是115网盘的吧
2012-10-17 19:00嗯,是115的,我刚修改了,国内的网盘真心伤不起。
2012-10-17 21:25是伤不起,凑合用吧 👿
2012-10-18 09:16运行此脚本后 会产生类似【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请问一下如何实现只备份上传数据库
2012-06-04 20:46仅备份数据库的话,修改备份源码,或者直接用网站备份类的插件。
2012-06-04 21:02数据库也备份了嘛
2012-02-29 22:19是的,完整打包备份。
2012-03-01 08:24这个果断转走~嘿嘿
2012-02-22 22:17我网站在用多说!
2012-02-21 22:00我用的是sh脚本!没用php的
建议用多说的评论插件~
2012-02-21 16:01恩,介绍过这个,木有用过,嘿嘿,下次耍耍看~
2012-02-21 16:02这个不错,VPS可以用SHELL脚本,CP空间可以用这个!
2012-02-21 15:57感谢容妞,已经执行!坐等见效! 😳 😳
2012-02-21 12:48很多朋友使用这个方法定时备份,我自己也在某些站点使用。
2012-02-21 12:50这正是各位站长需要的啊!泪流满面啊!CP强大,但能应用自如的国内站长屈指可数,何况像我这样的小白!支持赵容!
2011-12-22 18:12