来自 关于计算机 2019-11-22 02:13 的文章
当前位置: 澳门太阳娱乐手机登录 > 关于计算机 > 正文

使用rsync与crond服务器进行WEB服务备份,服务器数

选拔rsync与crond服务器实行WEB服务备份,rsynccrond

动用rsync与crond服务器进行WEB服务备份
场景:
某商户里有豆蔻梢头台Web服务器,里面包车型客车数目很主要,不过倘若硬盘坏了,数据就能扬弃。
最近官员必要您把数据在别的机器上做四个备份。供给如下:
天天下午00点在Web服务器A上包裹备份系统布局文件、网址前后相继目录及拜候日志并透过
rsync命令推送到服务器B上备份保留。
备份思路:能够先行在地头按日期打包,然后在推送到备份服务器上。
现实供给如下:
1)Web服务器A和备份服务器B的备份目录必需为/backup。
2卡塔尔系统安顿文件满含但不压制:
a.定期职务服务的配置文件
b.开启自运营文件的配置/etc/rc.d/rc.local
c.平日脚本的目录/server/scripts
d.防火墙iptabls的配备文件/etc/sysconfig/iptables
e.其余要求备份的目录
3卡塔 尔(阿拉伯语:قطر‎Web服务器站点目录假定为/var/html/www
4卡塔尔Web服务器A访问的日志路线假定为(/app/logs)
5) Web服务器保留打包后的7天的备份数据。备份服务器B上保留七个月的数额别本。
6卡塔尔国备份服务器B上信守备份数据的服务器的IP为目录保存,打包的文本根据时间名字保存。
逻辑架构图:。。。。。
专程表明:
1卡塔 尔(英语:State of Qatar)工作中领导很也许不会告知您如何去做,只会提必要,举例:小崔,WEB服务器很要紧,请您把
数量在其余服务器备份生机勃勃份。
2卡塔尔国逻辑架构图更不容许是领导者给您画,而是你明白了管理者的情致,然后本身想出备份的方案,最后,在
实施前你做的三个图片而已。

景况表达:
192.168.0.252 web
192.168.0.251 backup

空泛出才能点:
A、在备份服务器B上奉行rsync服务,A是顾客端。
B、在A上对重大数据开展备份,实践上正是写三个备份脚本。
C、做三个依期职务,实践B步骤中的备份脚本。

发端布署
A、在备份服务器B上实践rsync服务,A是顾客端。
一、什么是rsync

  rsync,remote synchronize顾名思意就了解它是大器晚成款达成长途同步成效的软件,它在联合签名文件的同一时候,
能够保持原本文件的权限、时间、软硬链接等附加新闻。 rsync是用 “rsync 算法”提供了三个顾客机和
远程文件服务器的文书同步的长足方法,并且能够透过ssh方式来传输文件,那样其保密性也不行好,别的
它照旧免费的软件。
  rsync 包含如下的生机勃勃部分表征:

  能更新任何目录和树和文件系统;
  有选取性的涵养符号链链、硬链接、文件归属、权限、设备以至时光等;
  对于安装来讲,无别的特殊权限供给;
  对于八个文本来讲,内部流程收缩文件等待的延时;
  能用rsh、ssh 或直接端口做为传输入端口;
  援救无名rsync 同步文件,是可观的镜像工具;
从前安顿rsync服务
1、确定安装rsync软件包
[[email protected] ~]# rpm -qa|grep rsync
rsync-3.0.6-12.el6.x86_64
2、配置rsync配置文件
rsync配置文件如下:/etc/rsyncd.conf
###rsyncd.conf start###
uid=rsync
gid=rsync
use chroot=no
max connections=200
timout=300
pid file=/var/run/rsyncd.pid
lock file=/var/run/rsync.lock
log file=/var/log/rsyncd.log
[backup]
path=/backup/
ignore errors
read only=false
list=false
hosts allow=10.0.0.0/24
hosts deny=0.0.0.0/32
auth users=rsync_backup
secrets file=/etc/rsync.password
#rsync_config________________________end###

3、增多客户备份目录
[[email protected] ~]# mkdir /backup
[[email protected] ~]# useradd rsync -s /sbin/nologin
[[email protected] ~]# id rsync
uid=502(rsync) gid=502(rsync) groups=502(rsync)
[[email protected] ~]# chown -R rsync /backup/
[[email protected] ~]# ll /backup -ld
drwxr-xr-x 2 rsync root 4096 Jan 14 20:25 /backup
4、运转rsync守护进度
[[email protected] ~]# rsync --daemon
[[email protected] ~]# netstat -lntup|grep 873
tcp        0      0 0.0.0.0:873                 0.0.0.0:*                   LISTEN      1477/rsync          
tcp        0      0 :::873                      :::*                        LISTEN      1477/rsync    
5、rsync开机自运行
[[email protected] ~]# echo "#rsync bak by baizuo 20180120">>/etc/rc.local ;echo "/usr/bin/rsync --daemon --config=/etc/rsyncd.conf" >>/etc/rc.local 
[[email protected] ~]# tail /etc/rc.d/rc.local -n2
#rsync bak by baizuo 20180120
/usr/bin/rsync --daemon

6、配置用于rsync同步的账号、密码及账号文件权限
(只是用作rsync账号验证的捏造客商,并非系统本人顾客)
[[email protected] ~]# echo "rsync_backup:baizuo" >/etc/rsyncd.password
[[email protected] ~]# tail /etc/rsync.password 
rsync_backup:baizuo
[[email protected] ~]# chmod 600 /etc/rsync.password 
[[email protected] ~]# ll /etc/rsync.password 
-rw------- 1 root root 20 Jan 20 17:06 /etc/rsync.password

7、在顾客端举办配置
[[email protected] ~]# echo "baizuo" >/etc/rsync.password
[[email protected] ~]# chmod 600 /etc/rsync.password 
[[email protected] ~]# ll /etc/rsync.password 
-rw------- 1 root root 7 Jan 20 17:04 /etc/rsync.password

8、在顾客端举行推送测量检验
[[email protected] ~]# /backup
[[email protected] ~]#  touch /backup/test.txt
[[email protected] ~]# rsync -avzP /backup/ [email protected]::backup/ --password-file=/etc/rsync.password 
sending incremental file list
./
test.txt
           0 100%    0.00kB/s    0:00:00 (xfer#1, to-check=0/2)

sent 78 bytes  received 30 bytes  216.00 bytes/sec
total size is 0  speedup is 0.00

A技术点--------------OK----------------------------
B、在A上对首要数据开展备份,奉行上就是写叁个备份脚本。
对地方所说的布局文件做备份。

#先在shell上做三遍打包压缩测量试验。(能够不做测量检验)
[[email protected] ~]# mkdir /var/html/www/baizuo -p
[[email protected] ~]# mkdir /app/logs/baizuo_log -p
[[email protected] ~]# cd /var/html/www/
[[email protected] www]# tar zcvf baizuo_web_$(date +%F).tar.gz ./baizuo
./baizuo/
[[email protected] www]# ll
drwxr-xr-x 2 root root 4096 Jan 20 17:32 baizuo
-rw-r--r-- 1 root root  114 Jan 20 17:34 baizuo_web_2018-01-20.tar.gz

2、编写脚本,在测量试验一下。
(那个本子并不标准,你能够圆满它。)
[[email protected] www]# mkdir /server/scripts/ -p
[[email protected] www]# mv rsync_copyall.sh /server/scripts/

[[email protected] www]# cat /server/scripts/rsync_copyall.sh 
#backup web_site
cd /var/html&&tar zcf /backup/www_$(date +%F).tar.gz ./www
cd /app/ && tar zcf /backup/logs_$(date +%F).tar.gz ./logs

#backup system config
cd / && tar zcf /backup/etc_$(date +%F).tar.gz ./etc

#backup crond root
cd /var/spool/cron/ && tar zcf /backup/crond_root_$(date +%F).tar.gz ./root

#rsync data to bakserver
rsync -avzP /backup/ [email protected]::backup/ --password-file=/etc/rsync.password >/dev/null 2>&1

#del data 7 days ago
find /backup/ -type f -name "*.tar.gz" -mtime +7|xargs rm -f

3、测试脚本,查看结果
顾客端试行脚本
[[email protected] scripts]# sh rsync_copyall.sh 
劳动的查阅结果
[[email protected] ~]# ll /backup/
total 10276
-rw-r--r-- 1 rsync rsync      161 Jan 20 17:54 crond_root_2018-01-20.tar.gz
-rw-r--r-- 1 rsync rsync 10509606 Jan 20 17:54 etc_2018-01-20.tar.gz
-rw-r--r-- 1 rsync rsync      136 Jan 20 17:54 logs_2018-01-20.tar.gz
-rw-r--r-- 1 rsync rsync        0 Jan 20 17:07 test.txt
-rw-r--r-- 1 rsync rsync      341 Jan 20 17:54 www_2018-01-20.tar.gz
PS:能够看来推送成功了,不过呢,这里有二个标题,服务端的公文是否应该用IP保存呢。
打消办法:
左右逢源剧本成效:
[[email protected] scripts]# cat rsync_copyall.sh 
IP=`grep IPADDR /etc/sysconfig/network-scripts/ifcfg-eth0 |cut -d '=' -f2`
mkdir /backup/$IP

#backup web_site
cd /var/html&&tar zcf /backup/$IP/www_$(date +%F).tar.gz ./www
cd /app/ && tar zcf /backup/$IP/logs_$(date +%F).tar.gz ./logs

#backup system config
cd / && tar zcf /backup/$IP/etc_$(date +%F).tar.gz ./etc

#backup crond root
cd /var/spool/cron/ && tar zcf /backup/$IP/crond_root_$(date +%F).tar.gz ./root

#rsync data to bakserver
rsync -avzP /backup/$IP [email protected]::backup/ --password-file=/etc/rsync.password >/dev/null 2>&1

#del data 7 days ago
find /backup/ -type f -name "*.tar.gz" -mtime +7|xargs rm -f

备份服务器端查看结果:
[[email protected] backup]# ls /backup/192.168.0.252/
crond_root_2018-01-20.tar.gz  logs_2018-01-20.tar.gz
etc_2018-01-20.tar.gz         www_2018-01-20.tar.gz

B技术点______________________________完成!
C、做叁个准期职务,实行B步骤中的备份脚本。
(客户端做二个依期职务卡塔尔天天0点备份数据,数据保存7天。
[[email protected] scripts]# crontab -l
30 * * * * /usr/sbin/ntpdate cn.ntp.org.cn >/dev/null 2>&1
#bak local data by baizuo at 2018.1.20
00 00 * * * /bin/sh /server/scripts/rsync_copyall.sh >/dev/null 2>&1 
(服务端做个准期职分卡塔 尔(阿拉伯语:قطر‎备份数据保存3个月。
[[email protected] scripts]# crontab -l
30 * * * * /usr/sbin/ntpdate cn.ntp.org.cn >/dev/null 2>&1
#keep data 180 days
00 00 * * * /bin/sh /server/scripts/keepdata180days.sh >/dev/null 2>&1 

第1章 项目筹划职业

1.1 基本备份供给

已知3台服务器主机名分别为:web01,backup,nfs01,主机音信如下表:

服务器说明

外网IP

内网IP

主机名

Nginx web服务器

10.0.0.8/24

172.16.1.8/24

web01

NFS存储服务器

10.0.0.31/24

172.16.1.31/24

nfs01

rsync备份服务器

10.0.0.41/24

172.16.1.41/24

backup

要求:每一天早上0点整在web服务器上包裹备份系统铺排文件,网址先后目录及探访日志通过rsync命令推送备份服务器backup上备份保留。
 
实际必要如下:
1卡塔尔web服务器和备份服务器的备份目录都一定要为/backup
2卡塔 尔(阿拉伯语:قطر‎要备份的系统布局文件蕴涵但不限余:
  a.定时任务服务的布置文件(/var/spool/cron/root卡塔尔
  b.开机自运行的安插文件(/etc/rc.local)
  c.经常脚本的目录(/server/scripts卡塔尔国
  d.防火墙iptables的配备文件(/etc/sysconfig/iptables)
3卡塔 尔(英语:State of Qatar)web服务器站点目录为(/var/html/www卡塔 尔(英语:State of Qatar)
4卡塔尔Web服务器A访谈日志的路子为(/app/logs卡塔 尔(阿拉伯语:قطر‎
5卡塔尔Web服务器保留打包后的7天的备份数据就能够(本地留存不可能多于7天,因为太多硬盘会满卡塔尔
6卡塔 尔(阿拉伯语:قطر‎备份服务器上,保留近日7天的备份数据,同期保留7个月内周周风华正茂的有着数据。
7卡塔尔国备份服务器上要设置备份数据服务器的内网IP为目录保存备份,备份的文本安装时间名字保存。
8卡塔 尔(英语:State of Qatar)必要保险备份的数码尽量完整争取,在备份服务器上对备份的数额举办检讨,把备份的打响及失利结果消息发放系统管理员的信箱中。
 
1.2 简单逻辑图

图片 1

1.3 解题思路
1)搭建backup服务器。
  a.搭建rsync服务
2)搭建web服务器。
  1.验证rsync服务是不是推送成功。
  2.支出脚本,完成打包,备份,推送,校验,删除。
  3.陈设依期职分准期推送,每一天0点定时推送。
3)搭建backup服务器。
1.得以完结校验,删除,报告急察方。
2.安顿按时任务每一天6点依期实践。
4)搭建nfs服务器。
  1.验证rsync服务是还是不是推送成功。
  2.费用脚本,达成打包,备份,推送,校验,删除。
  3.配置定期任务准时推送,每日0点定时推送。
 
第2章 项目实行
2.1 搭建backup服务器。
2.1.1 rsync的暗许配置文件是/etc/rsyncd.conf,配置文件暗中同意是空的,须求团结编写

[root@backup ~]# cat /etc/rsyncd.conf
#rsync_config_____________________________start
#created by linuxidc 15:01 2007-6-5
##rsyncd.conf start##
uid = rsync 
gid = rsync 
use chroot = no   
max connections = 200     
timeout = 300   
pid file = /var/run/rsyncd.pid     
lock file = /var/run/rsyncd.lock     
log file = /var/log/rsyncd.log
ignore errors
read only = false
list = false
hosts allow = 172.16.1.0/24
#hosts deny = 0.0.0.0/32
auth users = rsync_backup
secrets file = /etc/rsync.password       
[backup]     
path = /backup     
[nfsbackup]
path = /nfsbackup
[luo]
path = /luo
ignore errors
read only = false
list = false
hosts allow = 172.16.1.0/24
#hosts deny = 0.0.0.0/32
auth users = tang
secrets file = /etc/tang
#rsync_config________________________end

2.1.2 增添客商rsync
[root@backup ~]# useradd rsync -s /sbin/nologin -M
[root@backup ~]# cat /etc/passwd|grep rsync
rsync:x:501:501::/home/rsync:/sbin/nologin

为啥用编造客商?
应答:文件和进度都要知足属主的供给,文件和进度的留存一定是内需客户的,也是为着安全难点。
2.1.3 根目录下增加backup目录
[root@backup ~]# mkdir -p /backup/
[root@backup ~]# chown -R rsync.rsync /backup/
[root@backup ~]# ls -ld /backup/
drwxr-xr-x 3 rsync rsync 20480 1月  18 09:51 /backup/

2.1.4 成立rsync的密码配置文件,暗中同意也是空的
[root@backup ~]# cat /etc/rsync.password 
rsync_backup:linuxidc
[root@backup ~]# chmod 600  /etc/rsync.password 
[root@backup ~]# ls -l /etc/rsync.password 
-rw-------. 1 root root 20 11月 29 01:14 /etc/rsync.password

2.1.5 开启服务并开机自运转
[root@backup ~]# tail -1 /etc/rc.local 
/usr/bin/rsync --daemon

2.1.6 服务器端测量试验
[root@backup ~]# ps -ef|grep rsync|grep -v grep
root      23049      1  0 Jan15 ?        00:00:00 rsync --daemon
root@backup ~]# lsof -i:rsync
COMMAND  PID USER  FD  TYPE DEVICE SIZE/OFF NODE NAME
rsync  23049 root    3u  IPv4  56971      0t0  TCP *:rsync (LISTEN)
rsync  23049 root    5u  IPv6  56972      0t0  TCP *:rsync (LISTEN)
[root@backup ~]# netstat -lntup|grep rsync
tcp        0      0 0.0.0.0:873                0.0.0.0:*                  LISTEN      23049/rsync       
tcp        0      0 :::873                      :::*                        LISTEN      23049/rsync       
[root@backup ~]# telnet 172.16.1.41 873
Trying 172.16.1.41...
Connected to 172.16.1.41.
Escape character is '^]'.
@RSYNCD: 30.0
注明服务器端配置没至极

2.2 验证rsync服务是还是不是推送成功。
2.2.1 顾客端配置
[root@web01 ~]# cat /etc/rsync.password 
linuxidc
[root@web01 ~]# ls -ld /etc/rsync.password 
-rw------- 1 root root 7 1月  18 16:01 /etc/rsync.password

2.2.2 顾客端推送
[root@web01 backup]# rsync -avz /backup/  --password-file=/etc/rsync.password   
sending incremental file list
./
1
10
2
3
4
5
6
7
8
9
证明顾客端推送成功

2.2.3 Web服务器达成打包,备份,推送,删除。
2.2.3.1 命令行备份
[root@web01 backup]# mkdir /var/html/www -p
[root@web01 scripts]# mkdir /app/logs -p
[root@web01 /]# tar zcvfh /backup/sys_config_$(date +%F).tar.gz  ./var/spool/cron/root  ./server/scripts/ ./etc/rc.local 
./var/spool/cron/root
./server/scripts/
./server/scripts/bak.sh
./etc/rc.local
[root@web01 /]# tar zcvfh /backup/webdata_config_$(date +%F).tar.gz ./var/html/www/
./var/html/www/
./var/html/www/4
./var/html/www/7
./var/html/www/5
./var/html/www/6
./var/html/www/2
./var/html/www/8
./var/html/www/3
./var/html/www/10
./var/html/www/1
./var/html/www/9
[root@web01 /]# tar zcvfh /backup/access_log_config_$(date +%F).tar.gz ./app/logs/ 
./app/logs/
./app/logs/f
./app/logs/c
./app/logs/a
./app/logs/d
./app/logs/e
./app/logs/b
./app/logs/g

2.2.3.2 推送:
[root@web01 backup]# rsync -avz /backup/ rsync_backup@172.16.1.41::backup/ --password-file=/etc/rsync.password

2.2.3.3 删除:
[root@web01 backup]# find /backup/ -type f -mtime +7|xargs rm -rf

2.2.3.4 全体松手脚本里:
cat  /server/scripts/bak.sh
#!/bin/sh
export PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin
IP=$(ifconfig eth1|awk -F "[ :]+" 'NR==2{print $4}')
Bak_Path=/backup
mkdir $Bak_Path/$IP -p
if [ $(date +%w) -eq 2  ];then
date="$(date +%F -d "-1day")_week1"
else
date="$(date +%F -d "-1day")"
fi
cd / &&
tar zcfh $Bak_Path/$IP/sys_config_${date}.tar.gz ./var/spool/cron ./etc/rc.local ./server/sc
ripts  &&
tar zcf $Bak_Path/$IP/webdata_${date}.tar.gz var/html/www/  &&
tar zcf $Bak_Path/$IP/access_log_${date}.tar.gz app/logs/  &&
find $Bak_Path -type f -name "*.tar.gz"|xargs md5sum >$Bak_Path/$IP/flag_${date} &&
rsync -az $Bak_Path/ rsync_backup@172.16.1.41::backup/ --password-file=/etc/rsync.password
&&
###delete data before 7days ago by chen at 20170118
find $Bak_Path -type f  -mtime +7|xargs rm -f
~

2.2.3.5 每一日00点定期义务推送
[root@web01 backup]# crontab -l
00 00 * * * /bin/sh /server/scripts/bak.sh >/dev/null 2>&1  实现客商端的依期职务推送职业

第3章 backup服务器达成校验,删除,报告急察方
首先大家测量试验下风流罗曼蒂克旦完毕服务器报告急察方
[root@backup ~]# tail -1 /etc/mail.rc 
set from=njlc_jsbcmq@linuxidc.com smtp=smtp.163.com smtp-auth-user=njlc_jsbcmq  smtp-auth-password=hgg7454196ls smtp-auth=login
[root@backup ~]#  echo "31qqi zuzi bang"|mail -s "nihao" linuxidc@linuxidc.com
就足以收起邮件了
 
[root@backup scripts]# cat checkbak.sh 
#!/bin/bash
export
if [ $(date +%w) -eq 2 ];then
date="$(date +%F -d "-1day")_week1"
else
date="$(date +%F -d "-1day")"
fi
find /backup/ -name "flag_${date}*"|xargs md5sum -c  &>>/tmp/mail_$(date +%F).log
find /backup/ -type f -name "*.tar.gz"  -a ! -name "*week1*"  -mtime +1|xargs rm -f 
mail -s  "backup ~date~"  linuxidc@linuxidc.com </tmp/mail_$(date +%F).log
cp /tmp/mail_$(date +%F).log  /tmp/mail_$(date +%F).log.ori
>/tmp/mail_$(date +%F).log
做准时职分,每一日傍晚6点出殡和下葬邮箱
[root@backup scripts]# crontab -l
* * * * * /usr/sbin/ntpdate time.nist.gov >/dev/null 2>&1 
* * * * * /bin/bash  /server/scripts/checkbak.sh >/dev/null 2>&1 
品类成功

昂科威Sync完成公文备份同步详细解释   http://www.linuxidc.com/Linux/2014-09/106967.htm

应用inotifywait监察和控制主机文件和目录 http://www.linuxidc.com/Linux/2013-03/81075.htm

运用inotify+rsync完成Linux文件批量更新 http://www.linuxidc.com/Linux/2012-01/52132.htm

inotify-tools+rsync实时同步文件安装和安插 http://www.linuxidc.com/Linux/2012-06/63624.htm

rsync同步完整配置 http://www.linuxidc.com/Linux/2013-06/85781.htm

CentOS 6.5下揽胜极光sync远程同步 http://www.linuxidc.com/Linux/2014-05/101084.htm

Linux文件夹相比并领取的差分文件能力-rsync的妙用 http://www.linuxidc.com/Linux/2016-02/128307.htm

Qashqaisync 的详细介绍:请点这里
XC60sync 的下载地址:请点这里

本文永恒更新链接地址:http://www.linuxidc.com/Linux/2017-01/139887.htm

图片 2

本文由澳门太阳娱乐手机登录发布于关于计算机,转载请注明出处:使用rsync与crond服务器进行WEB服务备份,服务器数

关键词: