燕语呢喃

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

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

2011年9月23日 7777点热度 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备份脚本下载

本作品采用 知识共享署名 4.0 国际许可协议 进行许可
标签: 暂无
最后更新:2011年9月23日

admin

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

点赞
< 上一篇
下一篇 >

文章评论

  • 用心感受你

    数据量大咋办!

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

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

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

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

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

    不错,值得研究一下。

    2011年10月26日
    回复
  • 取消回复

    admin

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

    最新 热点 随机
    最新 热点 随机
    路由笔记 尽头 coreldraw 备忘录 专业字体设计软件FontCreator 12.0中文汉化专业版 苏晗5周岁 第五颗小牙
    ps调色滤镜Nik Software Color Efex Pro 4.005中文版(含绿色版)下载 win8的若干问题 诸事不顺 其心必乱 糗 也突然的· 备案关闭中,首页暂不能访问
    分类
    • *素问
    • PS插件
    • 唠叨
    • 女儿
    • 字体
    • 摄影
    • 未分类
    • 柴米油盐
    • 灯火阑珊
    • 网站
    • 说说
    • 软件

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

    Theme Kratos Made By Seaton Jiang

    浙ICP备13015982号-1

    浙公网安备 33010502001731号