采用独立备份主机backup。每天web服务器0点备份
CentOS 6.5
web:nginx
数据库:mysql
服务器备份位置:
1、定时任务服务的配置文件 /var/spool/cron/
2、服务器配置文件 /etc/
3、用户家目录: /home/
4、root家目录:/root/
5、web服务器及数据库
/usr/local/nginx/mysqldump -uroot -p --all-databases --events > mysql.sql
1、安装rsync服务(备份主机作为server端,web服务器作为client端)
http://blog.csdn.net/yang_xu_1987/article/details/77981443
backup:192.168.137.128
web:192.168.137.129
2、web服务端(脚本新建后需授权)
#############################################################
web服务器:/root/script/backup_web.sh
#################backup_web.sh###############################
#!/bin/bash
#获取本机ip地址
backup_ip=` ifconfig|grep -A1 eth0|tail -1|awk -F \'[ :]+\' \'{print $4}\'`#获取日期
backup_date=`date "+%Y%m%d"`
if [ ! -d /backup ]
then
mkdir /backup
fi
cd /backup#删除上次备份文件
rm -rf /backup/*
#创建以日期为名的目录mkdir $backup_date
cd $backup_datetar -zcf {$backup_ip}_var_spool_cron.tar.gz /var/spool/cron/
tar -zcf {$backup_ip}_etc.tar.gz /etc/tar -zcf {$backup_ip}_home.tar.gz /home/ /root/
tar -zcf {$backup_ip}_web.tar.gz /usr/local/nginx/#备份mysql ,下面p后面是root密码
mysqldump -uroot -p123 --all-databases --events > {$backup_ip}_mysql.sql
#上传文件到backup服务器
rsync -avz /backup/ rsync://rsync@192.168.137.128/rsync --password-file=/etc/rsyncd.passwd
echo "文件已上传"
#############################################################
加入计划任务
crontab -e
0 0 * * * /root/script/backup_web.sh
----------------------------------------------------------------------------------------------------------
3、backup服务端
#############################################################
server服务端: /root/scripts/backup_server.sh
##################backup_server.sh#############################
#!/bin/bash
if [ ! -d /backup ]
then
mkdir /backup
fi
cd /backup
#删除15天之外的文件夹
find /backup/* -type d -mtime +15|xargs rm -rf
echo "超过15天的文件已删除"
#############################################################
加入计划任务
crontab -e
0 1 * * * /root/scripts/backup_server.sh