燕语呢喃

  • 首页
  • 目录
  • 说说
    • 网站
    • 字体
    • 灯火阑珊
    • 软件
    • 唠叨
    • *素问
    • 摄影
  • 留言板
  • 关于
    • 隐私政策
  • 管理
燕语呢喃
彭纪雁的个人博客
  1. 首页
  2. 网站
  3. 正文

vps小站最佳备份方案:邮件备份

2011年9月23日 8233点热度 0人点赞 4条评论

vps小站最佳备份方案:邮件备份

Filed under: PHP » 网络技术 — cmpan @ 2011-01-11 10:04:40

我的QQ邮箱容量16G,据说容量是不限的,会自动增加,如果用来备份vps上的网站,不占空间又方便,那岂不是很爽!

有办法了,打包后用sendmail发送到QQ邮箱,简单快捷。

我比较熟悉php,用PHPMailer-Lite来调用sendmail发送备份文件。你不能用sendmail的话可以使用smtp发送,不过比较慢一点。

要是大站附件按天来存的话,也可以用这个方法来按天打包备份附件,反正QQ邮件是无限容量的,不用白不用。

需要下载 http://nchc.dl.sourceforge.net/project/phpmailer/phpmailer%20for%20php5_6/PHPMailer-Lite%20v5.1/PHPMailer-Lite_v5.1.zip

/**

* 博客备份并发送到邮箱

* 很方便很适合小站备份的方式

*

* useage:

* /usr/local/php/bin/php /path/to/mailbackup.php

*

* @author xxx

* @link pjy.me

* @license NEWBSD

*/

//require_once('class.phpmailer-lite.php');

require_once('PHPMailerLite.php');

set_time_limit(0);

// 设置

$mailTo = 'a@pjy.me'; // 发送到哪个邮箱

$mailFrom = 'b@pjy.me'; // 发送附件邮箱名

$dbUser = 'root';

$dbPass = '';

$dbName = 'yulans';

$mysqlBinDir = '/webserver/mysql/bin';

$attDir = '/webserver/web/pjy.me/www/wp-content/uploads/'; // 附件路径

$attBakFile = 'uploads.pjy.me.tar.gz';

$dataBakFile = 'data.pjy.me.tar.gz';

date_default_timezone_set('Asia/Shanghai'); // PHP 5 >= 5.2.0

$gzPre = date('Ymd-His-');

print "Backup Message:n";

print "backup start:".date('Y-m-d H:i:s')."n";

// 打包附件

$attGz = "/tmp/{$gzPre}{$attBakFile}"; // 待发送附件压缩包

system("tar zcf $attGz $attDir");

print "$attGz finish!n";

// 导出数据库进行打包

$dbGz = "/tmp/{$gzPre}{$dataBakFile}"; // 待发送附件数据库压缩包

system("{$mysqlBinDir}/mysqldump -u{$dbUser} -p{$dbPass} {$dbName} > /tmp/{$dbName}.sql");

system("tar zcf $dbGz /tmp/{$dbName}.sql");

print "$dbGz finish!n";

$mail = new PHPMailerLite(true);

$mail->IsSendmail();

try {

$msg = '';

$mail->SetFrom($mailFrom, 'Bak');

$mail->AddAddress($mailTo, 'cm pan');

$mail->Subject = 'Yulans.cn backup';

$mail->AltBody = date('Y-m-d H:i:s').'!';

$mail->MsgHTML(date('Y-m-d H:i:s').'! OK');

// 添加附件

if(file_exists($attGz)) {

$mail->AddAttachment($attGz);

$msg .= "AddAttachment $attGz finish!

n";

} else {

$msg .= "Attachment $attGz not exists!

n";

}

if(file_exists($dbGz)) {

$mail->AddAttachment($dbGz);

$msg .= "AddAttachment $dbGz finish!

n";

} else {

$msg .= "Attachment $dbGz not exists!

n";

}

print $msg;

$mail->MsgHTML($msg);

$mail->Send();

} catch (phpmailerException $e) {

echo $e->errorMessage();

} catch (Exception $e) {

echo $e->getMessage();

}

// 删除临时文件

system("rm -f $attGz");

system("rm -f $dbGz");

system("rm -rf /tmp/{$dbName}.sql");

print "Backup Finishn";

上面的文件内容全部上传到服务器以后,在/etc/cron.daily/新建一个文件让系统按天运行备份脚步,内容为:

#!/bin/sh

/webserver/php/bin/php /path/to/worker.php #上面的php脚步的路径

适用于MyISAM的完整的php备份脚本下载:mail-backup

适用于所有表类型的php备份脚本下载

标签: 暂无
最后更新:2011年9月23日

admin

这个人很懒,什么都没留下

点赞
< 上一篇
下一篇 >

文章评论

  • 用心感受你

    数据量大咋办!

    2011年9月24日
    回复
  • 化妆品排行榜1b

    不错 ,欢迎回访,加油,欢迎来我的网站指导啊1b

    2011年9月29日
    回复
  • 螺旋藻c4

    http://www.ewoka.net/ 过来踩踩 ,欢迎回访,哈哈c4

    2011年9月30日
    回复
  • 钕铁硼强磁

    不错,值得研究一下。

    2011年10月26日
    回复
  • razz evil exclaim smile redface biggrin eek confused idea lol mad twisted rolleyes wink cool arrow neutral cry mrgreen drooling persevering
    取消回复

    admin

    这个人很懒,什么都没留下

    最新 热点 随机
    最新 热点 随机
    咏柳 路由笔记 尽头 coreldraw 备忘录 专业字体设计软件FontCreator 12.0中文汉化专业版 旧榻鹅群帖
    这一周 极路由3刷入Breed 流年 康复了。 终见好转,不容易啊。。 专业字体设计软件FontCreator 12.0中文汉化专业版
    分类
    • *素问
    • PS插件
    • 台北故宫博物院
    • 唠叨
    • 女儿
    • 字体
    • 摄影
    • 未分类
    • 柴米油盐
    • 灯火阑珊
    • 网站
    • 说说
    • 软件

    COPYRIGHT © 2023 燕语呢喃. ALL RIGHTS RESERVED.

    Theme Kratos Made By Seaton Jiang