linux系统中下WEB网站备份脚本(网站文件/数据库)

作者:袖梨 2022-11-14

简单的网站备份脚本

代码如下 复制代码

#!/bin/bash
#backup database

mypw=CactiEZ
newtime=$(date +%Y%m%d)
if [ -d /var/www/backup/ ];then
mysqldump -u root -p$mypw DB > /var/www/backup/$newtime-Database.sql
else
mkdir /var/www/backup/
mysqldump -u root -p$mypw DB > /var/www/backup/$newtime-Database.sql
fi
tar -zcvf /var/www/backup/$newtime-www.tar.gz /var/www/

find /var/www/backup/ -mtime +4 -exec rm -rf {} ;


还有一个更高级的自动备份网站/数据库/绑米信息/自动上传FTP脚本
本脚本特色:

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

相关文章

精彩推荐