网管程序员论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 1732|回复: 0

linux下自动备份网站/数据库/绑米信息/自动上传FTP脚本

[复制链接]
发表于 2012-8-27 17:35:45 | 显示全部楼层 |阅读模式
对于我们个人站长来说,数据的重要不用再谈,而很多站长经常忘记备份数据,也有无良的JS跑路,硬盘损坏,数据丢了,其中DS就丢失过好几次数据,如果没有备份,肯定悲剧,本文介绍一种自动备份数据的方法!

本脚本特色:

1.纯zip压缩,1-9可自行调整压缩率

2.整台VPS备份,还原方便,非常适合站群

3.加入压缩密码,可以自己设置

4.加入绑米信息伪静态压缩,防止伪静态弄丢

5.请确保在home目录下有backup目录,如果没有请执行 mkdir /home/backup

6.还原数据库请参考:导入数据库方法

最后更新时间:2012年8月25日

centos安装zip

yum install zip

debian安装zip

apt-get install zip

下载编辑

wget -c http://www.***.com/soft/beifen.sh

vi beifen.sh

只编辑注解为需要修改的地方

【脚本开始】

#!/bin/bash
#下面的参数是你要修改的
MYSQL_USER=root                             #mysql用户名
MYSQL_PASS=mysql密码                      #mysql密码
FTP_USER=FTP用户名                              #ftp用户名
FTP_PASS=FTP密码                         #ftp密码
FTP_IP=FTP地址                          #ftp地址
FTP_backup=FTP目录                          #ftp上存放备份文件的目录,这个要自己得ftp上面建的
WEB_DATA=/home/wwwroot/                          #要备份的网站数据
WEB_BANGMI=/usr/local/nginx/conf/                          #要备份的绑米信息
WEB_MULU=/home/backup                    #备份文件存放目录
WEB_MIMA=zhujima                    #备份时候的密码
WEB_YASUOLV=1                               #压缩率 1-9 如果VPS没有zip,请安装zip
#上面是你要修改的地方

#删除淘宝客缓存,属于自定义设置。可自行操作
#rm -rf /home/wwwroot/1.com/Apicache/*

#定义数据库的名字和旧数据库的名字
DataBakName=Data_$(date +"%Y%m%d").zip       #定义数据库名字
WebBakName=Web_$(date +%Y%m%d).zip           #定义备份网站名字
BANGMI=BANGMI_$(date +%Y%m%d).zip            #定义绑米备份名字

OldData=Data_$(date -d -5day +"%Y%m%d").zip  #定义5天前数据库名字
OldWeb=Web_$(date -d -5day +"%Y%m%d").zip    #定义5天前网站名字
BANGMIshan=BANGMI_$(date -d -5day +"%Y%m%d").zip   #定义5天前绑米名字

#删除本地3天前的数据
rm -rf $WEB_MULU/Data_$(date -d -3day +"%Y%m%d").zip $WEB_MULU/Web_$(date -d -3day +"%Y%m%d").zip $WEB_MULU/BANGMI_$(date -d -3day +"%Y%m%d").zip

#导出全部数据库
cd $WEB_MULU
/usr/local/mysql/bin/mysqldump -u$MYSQL_USER -p$MYSQL_PASS --all-databases > $(date +"%Y%m%d").sql

#压缩数据库文件为一个文件
zip -r -$WEB_YASUOLV -P $WEB_MIMA $DataBakName $WEB_MULU/*.sql
rm -rf $WEB_MULU/*.sql

#压缩网站数据
cd $WEB_DATA
zip -r -$WEB_YASUOLV -P $WEB_MIMA $WebBakName ./*
mv $WebBakName $WEB_MULU/$WebBakName
cd $WEB_MULU

#压缩绑米信息
cd $WEB_BANGMI #进入绑米目录
zip -r -$WEB_YASUOLV -P $WEB_MIMA $BANGMI ./*
mv $BANGMI $WEB_MULU/$BANGMI

#上传到FTP空间,删除FTP空间5天前的数据
cd $WEB_MULU #进入备份目录
ftp -v -n $FTP_IP << END
user $FTP_USER $FTP_PASS
type binary
cd $FTP_backup
delete $BANGMIshan
delete $OldData
delete $OldWeb
put $DataBakName
put $WebBakName
put $BANGMI
bye
END
加入权限,写入定时执行

chmod 777 /root/beifen.sh

crontab -e

30 21 * * * /root/beifen.sh

注:每天21:30开始备份并且上传FTP

您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|小黑屋|手机版|Archiver|最新更新|网管程序员社区 鄂ICP备11008024号-3

GMT+8, 2019-11-19 01:17 , Processed in 0.093600 second(s), 24 queries .

Powered by 网管论坛

© 2001-2018 www.027safe.com Inc.

快速回复 返回顶部 返回列表