linux服务器备份

因为我用的dnspod解析的,所以能检测到网站的动态,我发现这两天老切换说明VPS不稳定,我生怕数据随坏了,所以紧急写了个脚本,写了个PHP文件上传到七牛云存储这样做到实时存储,上传到云数据也不会损失了,做了个定时每天晚上备份!下边写着代码~~ 因为服务器的安全问题我就本地用linux给大家测试了一下,下边的信息改成你的信息!

#!/bin/bash
DAY=`date +%F`                   //名称时间
MAIL="[email protected]"           //设定邮箱
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
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 "备份成功";
}

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

linux服务器备份

你可能感兴趣的:(linux,备份)