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

简单的网站备份脚本

 代码如下 复制代码

#!/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

时间: 2024-10-28 08:47:51

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

Linux系统下使用Flacon导入CD音频文件中的歌曲

Linux系统下使用Flacon导入CD音频文件中的歌曲  Flacon 是一款 Qt 工具,用于从音频 CD 中提取个人曲目,基于在CUE文件中提供的信息提取如 WavPack. APE. FLAC. WAV 或 True Audio. 该应用程序提供了输出格式具体设置:你可以设置除 ReplayGain 以外的输出质量,压缩等,无论是每个专辑或音轨. Flacon 另外一个有用的功能就是标记导出的音轨文件,基于在CUE文件或手动提供的信息. 最新版本 Flacon 1.2.0 最近已经发布,

Linux系统在多级目录中查找某个文件的方法

Linux系统在多级目录中查找某个文件的方法? 有些时候我们需要查找Linux系统中的某个文件,但该文件可能在Linux系统多级目录中,哪么我们应该如何去查找呢,下面提供三种方法供大家参考: 1 find /dir -http://www.aliyun.com/zixun/aggregation/11696.html">name filename.ext2 du -a | grep filename.ext3 locate filename.ext

工具-Linux系统下java程序如何将PDF文件转换成SWF文件

问题描述 Linux系统下java程序如何将PDF文件转换成SWF文件 我需要将PDF文件转换成SWF格式的文件,目前是用windows系统开发java程序,windows系统中这种转型已经搞定,用的是swftools工具.但是开发完成之后,程序要部署到Linux系统中.由于不熟悉Linux系统所以无从下手,希望高手指点,最好也用swftools工具转型,尽量详细一些,跪谢. 解决方案 前不久刚用过,应该注意的是swftools工具在linux的安装,有时需要依赖才能安装下去,这个工具安装好就基

软件-linux下如何实现本备份人大金仓数据库

问题描述 linux下如何实现本备份人大金仓数据库 主要是做一个linux下备份人大金仓数据库的软件,但是这个软件不知道具体应该怎么实施,谁了解人大金仓数据库,求大神给我讲讲.

vmtool-求在linux系统中安装的vmware tool iso 文件

问题描述 求在linux系统中安装的vmware tool iso 文件 操作系统:Linux 12.04 64bit 已安装 vmware player 已在vmware player 中安装 windows8 64 bit 求vmware tool 找了很多vmware tool, linux,windows 相关.也在csdn下载 linux vmware tool,但是文件是fd.php 在Linux 不懂使用.本人是linux 小白.(本周才接触,才知道Linux这种系统). 表注 l

如何找出Linux系统中所有的*.cpp、*.h文件

如何找出Linux系统中所有的*.cpp.*.h文件? 用find命令就可以了.不过如果从根目录查找消耗资源较高,使用下面的命令就可以: find / -http://www.aliyun.com/zixun/aggregation/11696.html">name "*.cpp" -o -name "*.h" 示例: [root@localhost /]# find / -name "*.cpp" -o -name "

linux系统的Web服务器集成vsftp的方法

昨天我们写了一篇<linux下配置web+ftp服务器全教程(一) >说完了Web服务器的安装全过程,今天我们继续说下在apahce服务器上集成vsftp,以及apache和vsftp虚拟账户的权限配置. 三.web服务器下的ftp安装配置 linux下的ftp开源软件很多,我们这里选择的是vsftp,它的信息你可以去问度娘,不解释,直接进入安装配置,同样我们使用yum命令. yum install vsftpd pam db4 [安装vsftpd主程序/pam验证/db4工具] chkcon

Linux系统GoAccess Web实时日志分析和统计工具

前几天老左有在军哥和小夜的博客中看到有分享GoAccess这款比较强大的日志分析工具,从功能以及关系数据的用户体验上着实是一款不错的可以用于Linux VPS/服务器中用来对网站日志和用户数据进行分析和统计的工具.就好比很多大型的网站,我们很少有见到有使用网站统计工具的,一般都是通过日志分析用户和各种信息数据的. GoAccess,这款可以用于Linux系统的日志分析工具,可以用于Nginx.Apache等服务器日志处理中,也可以利用Cygwin使用到Windows系统中.一般而言,我们使用Li

一个Linux系统安全设置的Shell脚本的分享(适用CentOS)_linux shell

我们将常用的系统安全配置制作为一个shell脚本,只需要在服务器上运行这个shell脚本即可完成安全设置. linux的系统安全设 置Shell脚本是第二次更新,已经大量应用在某大型媒体网站体系中,加入了之前没有想到的一些安全设置.使用方法将其复制,保存为一个shell文件, 比如security.sh.将其上传到Linux服务器上,执行sh security.sh,就可以使用该脚本了! 复制代码 代码如下: #!/bin/sh# desc: setup linux system securit