linux服务器备份

widuu 2013-11-14 PHP技术 3,088 0 喜欢 (0)

因为我用的dnspod解析的,所以能检测到网站的动态,我发现这两天老切换说明VPS不稳定,我生怕数据随坏了,所以紧急写了个脚本,写了个PHP文件上传到七牛云存储这样做到实时存储,上传到云数据也不会损失了,做了个定时每天晚上备份!下边写着代码~~ 因为服务器的安全问题我就本地用linux给大家测试了一下,下边的信息改成你的信息!
[php]
#!/bin/bash
DAY=`date +%F` //名称时间
MAIL="23169450@qq.com" //设定邮箱
MYSQL="/data/mysql" //数据库地址
WWWROOT="/data/widuu" //网站存放的地址
BAKROOT="/data/wwwback" //备份地址
SQLNAME="mysql.${DAY}.tar.gz" //数据库备份的名称
WWWNAME="www.${DAY}.tar.gz" //网站备份的名称
echo "数据尺寸".`du -sh $MYSQL`>/data/mail //数据库本身尺寸
echo "网站尺寸".`du -sh $WWWROOT`>>/data/mail //网站的本身尺寸
backup(){
cd $BAKROOT
if [ ! -e $WWWNAME ]
then
tar zcvf $WWWNAME $WWWROOT &>>/data/false //压缩的网站
fi
if [ ! -e $SQLNAME ]
then
tar zcvf $SQLNAME $MYSQL &>>/data/false //压缩的数据库
fi
echo "站点压缩尺寸".`du -sh $WWWNAME`>>/data/mail
echo "数据压缩尺寸".`du -sh $SQLNAME`>>/data/mail
echo "成功打包准备快快的发送" >>/data/mail
/usr/local/php/bin/php $BAKROOT/back.php >>/data/mail //执行PHP文件上传到七牛云空间
}
if [ ! -d $BAKROOT ]
then
mkdir -p /data/wwwback
else
backup
mail -s "备份信息" $MAIL</data/mail
fi
[/php]
下边是PHP文件哦
[php]
<?php
date_default_timezone_set('PRC');
require_once("qiniu/io.php");
require_once("qiniu/rs.php");
$date = date("Y-m-d");
$accessKey = '七牛key';
$secretKey = '七牛key';
$bucket = "空间名称";
$filename = array(
"file1" => "www.{$date}.tar.gz",
"file2" => "mysql.{$date}.tar.gz"
);
Qiniu_SetKeys($accessKey, $secretKey);
$putPolicy = new Qiniu_RS_PutPolicy($bucket);
$upToken = $putPolicy->Token(null);
$putExtra = new Qiniu_PutExtra();
$putExtra->Crc32 = 1;
$report=array();
foreach($filename as $value){
list($ret, $err) = Qiniu_PutFile($upToken, $value,"./{$value}", $putExtra);
$report['ret'][] = $ret;
$report['err'][] = $err;
}
if ($err!== null) {
var_dump($report['err']);
} else {
echo "上传成功hash效验:\n";
foreach($report['ret'] as $value){
echo "filename:".$value['key']."\n";
echo "thishash:".$value['hash']."\n";
}
echo "备份成功";
}
[/php]

这个是通过我用VM虚拟化测试过了,当然我的VPS也用的这个,因为安全信息,我不能把我服务器的脚本贴出来,大家可以自己修改一下变成自己更好用的~~~效果如下:备份完成后的邮箱报告~~
QQ截图20131114163141

转载请注明来自微度网络,本文标题:《linux服务器备份》

喜欢 0 发布评论
Top