因为我用的dnspod解析的,所以能检测到网站的动态,我发现这两天老切换说明VPS不稳定,我生怕数据随坏了,所以紧急写了个脚本,写了个PHP文件上传到七牛云存储这样做到实时存储,上传到云数据也不会损失了,做了个定时每天晚上备份!下边写着代码~~ 因为服务器的安全问题我就本地用linux给大家测试了一下,下边的信息改成你的信息!
#!/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 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也用的这个,因为安全信息,我不能把我服务器的脚本贴出来,大家可以自己修改一下变成自己更好用的~~~效果如下:备份完成后的邮箱报告~~
发表评论 取消回复