#!/bin/bash
#
#WEB页面,WEB环境版本,数据库,整站备份脚本
#当发生某个原因导致整个服务器无法恢复时,利用上面备份的相关数据即可重做一台一样的服务器

date_a=`date +%Y%m%d-%H%M%S`

mkdir -p /web_bak/${date_a}/conf &> /dev/null
mkdir -p /web_bak/${date_a}/web &> /dev/null
mkdir -p /web_bak/${date_a}/mysql &> /dev/null
#/etc 目录下的配置文件进行备份,以及环境版本号信息
bak="httpd my.cnf my.cnf.d php.d php.ini"
for bak in $bak;do #
cp -rfp /etc/$bak /web_bak/${date_a}/conf &> /dev/null #
done
# 备份对应的软件版本信息
php -v | grep ^PHP &> /web_bak/${date_a}/PHP-version #
httpd -v | grep "Server version" &> /web_bak/${date_a}/Apache-version #
mysql -V &> /web_bak/${date_a}/mysql-version #
cat /etc/redhat-release &> /web_bak/${date_a}/redhat-release #

# /var/www/html 备份整个目录下的WEB文件
cp -rfp /var/www/html /web_bak/${date_a}/web &> /dev/null

#备份数据库
user_db=root #DB用户名
passwd_db=passwd #DB密码
localhost=127.0.0.1 #DB主机名
port=3306 #DB端口
name_db=mysql #数据库名
mysqldump --opt -u$user_db -p$passwd_db -h$localhost -P$port $name_db > /web_bak/${date_a}/mysql/${name_db}.sql