一、服务环境

(1),WEBserver(192.168.10.130) ; BACKserver(192.168.10.129)

(2),BACKserver服务器部署,安装所需软件,并启动

(3),建立系统备份用户backup(web服务器与备份服务器均建立用户)

[root@backsever ~]# useradd backup; echo backup:123456 |chpasswd
[root@backsever ~]# id backup
uid=1001(backup) gid=1001(backup) groups=1001(backup)

[root@backsever ~]# useradd backup; echo backup:123456 |chpasswd
[root@backsever ~]# id backup
uid=1001(backup) gid=1001(backup) groups=1001(backup)

(4),开放web服务器备份目录权限让backup用户操作:

[root@webserver ~]# setfacl -R -m default:backup:rwx /var/www/html/
[root@webserver ~]# setfacl -R -m user:backup:rwx /var/www/html/
[root@webserver ~]# getfacl /var/www/html/
getfacl: Removing leading '/' from absolute path names
# file: var/www/html/
# owner: root
# group: root
user::rwx
user:backup:rwx
group::r-x

mask::rwx

other::r-x
default:user::rwx
default:user:backup:rwx
default:group::r-x
default:mask::rwx
default:other::r-x

(5),建立存储服务存放目录/web-back/,并开放权限给备份用户使用

[root@backsever ~]# mkdir /web-back/
[root@backsever ~]# chown backup:backup /web-back/

(6)复制web服务器/boot/目录下所有文件到/var/www/html/目录下进行推送测试

(7),rsync -avz --delete /var/www/html/ backup@192.168.10.129:/web-back/命令推送测试

二,在备份服务器上建立虚拟用户,并建立用户和密码文件进行定时推送备份。

(1)修改/etc/rsyncd.conf 配置文件,末尾添加以下内容:

uid = root                   #运行进程的身份                 

gid = root                 #运行进程的组           

address =192.168.10.129       #监听IP(备份服务器)

           

port =873      #监听端口                       

hosts allow =192.168.10.0/24                #允许同步客户端的IP地址,可以是网段,或者用*表示所有   

use chroot = yes       #是否囚牢,锁定家目录,rsync被黑之后,黑客无法再rsync运行的家目录之外创建文件,选项设置为yes

 

max connections =5             #最大连接数

          

pid file =/var/run/rsyncd.pid      #进程PID,自动生成

lock file =/var/run/rsyncd.lock     #指max connectios参数的锁文件

log file =/var/log/rsyncd.log          #日志文件位置

motd file =/etc/rsyncd.motd         #客户端登陆之后弹出的消息

[wwwroot]       #共享模块名称                   

path =/web-back/       #备份路径      

comment = used for web-data root    #描述

read only = false        #设置服务端文件读写权限           

list = yes        #是否允许查看模块信息                           

auth users = rsyncuser            #备份的用户,和系统用户无关,建立的虚拟备份用户              

secrets file = /etc/rsync.passwd       #存放用户的密码文件,格式是  用户名:密码

(2),创建提示文件和用户密码

[root@backsever ~]# echo "Welcome to Backup Server" > /etc/motd
[root@backsever ~]# vim /etc/rsync.passwd

rsyncuser:password123

[root@backsever ~]# chmod 600 /etc/rsync.passwd      #密码文件权限必须是600或700

(3)启动服务

[root@backsever ~]# systemctl start xinetd.service
[root@backsever ~]# systemctl enable xinetd
[root@backsever ~]# rsync --daemon --config=/etc/rsyncd.conf           #让rsync服务从配置文件启动
[root@backsever ~]# ps aux | grep rsync
root 1926 0.0 0.0 114652 316 ? Ss 07:02 0:00 rsync --daemon
root 2920 0.0 0.0 112660 972 pts/0 R+ 07:46 0:00 grep --color=auto rsyn

[root@backsever ~]# kill -9 1926    #杀掉rsync服务进程
[root@backsever ~]# ps aux | grep rsync
root 2922 0.0 0.0 112660 968 pts/0 R+ 07:48 0:00 grep --color=auto rsyn
[root@backsever ~]# rsync --daemon --config=/etc/rsyncd.conf       #重新从配置文件读取启动
[root@backsever ~]# ps aux | grep rsync  #查看已启动的rsync进程
root 2924 0.0 0.0 114652 504 ? Ss 07:48 0:00 rsync --daemon --config=/etc/rsyncd.conf
root 2926 0.0 0.0 112660 968 pts/0 R+ 07:48 0:00 grep --color=auto rsyn

(4),在web服务器上建立备份用户密码文件,使推送备份无需输入密码运行

[root@webserver ~]# vim /etc/rsync.passwd
[root@webserver ~]# cat !$
cat /etc/rsync.passwd
password123

[root@webserver ~]# chmod 600 /etc/rsync.passwd  #密码文件权限必须改为600或700不然无法读取

(5)web服务器运行命令:rsync -avz --delete  /var/www/html rsyncuser@192.168.10.129::wwwroot --password-file=/etc/rsync.passwd 进行推送备份测试

(6),测试成功,说明配置没问题,写入定时任务自动执行

[root@webserver ~]# vim autobackup.sh
[root@webserver ~]# cat !$
cat autobackup.sh
#!/bin/bash
rsync -avz --delete /var/www/html rsyncuser@192.168.10.129::wwwroot --password-file=/etc/rsync.passwd         #--password-file必须要指定web服务器密码文件绝对路径,否则无法读取!!!!

echo "0 2 * * * sh /root/autoback.sh &" >> /var/spool/cron/root      #制定定时任务,定时执行推送备份脚本

rsync 系统用户/虚拟用户 备份web服务器数据及无交互定时推送备份的更多相关文章

  1. 【Rsync项目实战】备份全网服务器数据

    [Rsync项目实战]备份全网服务器数据 标签(空格分隔): Linux服务搭建-陈思齐 ---本教学笔记是本人学习和工作生涯中的摘记整理而成,此为初稿(尚有诸多不完善之处),为原创作品,允许转载,转 ...

  2. 【Rsync项目实战一】备份全网服务器数据

    目录 [Rsync项目实战]备份全网服务器数据 [企业案例] 1.1 环境部署 1.2 开始部署backup服务器:Rsync服务端过程: 1.3 开始部署nfs01服务器:Rsync客户端过程: [ ...

  3. Python搭建Web服务器,与Ajax交互,接收处理Get和Post请求的简易结构

    用python搭建web服务器,与ajax交互,接收处理Get和Post请求:简单实用,没有用框架,适用于简单需求,更多功能可进行扩展. python有自带模块BaseHTTPServer.CGIHT ...

  4. 【NFS项目实战二】NFS共享数据的时时同步推送备份

    [NFS项目实战二]NFS共享数据的时时同步推送备份 标签(空格分隔): Linux服务搭建-陈思齐 ---本教学笔记是本人学习和工作生涯中的摘记整理而成,此为初稿(尚有诸多不完善之处),为原创作品, ...

  5. ubuntu12.04+proftpd1.3.4a的系统用户+虚拟用户权限应用实践

    目录: 一.什么是Proftpd? 二.Proftpd的官方网站在哪里? 三.在哪里下载? 四.如何安装? 1)系统用户的配置+权限控制 2)虚拟用户的配置+权限控制   一.什么是Proftpd? ...

  6. (转)linux 系统下虚拟用户的作用

    原文:http://blog.csdn.net/luoshao20120430/article/details/16900653            http://blog.csdn.net/u01 ...

  7. linux系统下搭建自己的web服务器

    之前在windows 2008 server上搭建了一个用于测试的web服务器,但是在打开网站的时候特别的慢,尤其是图片的加载都会失败,当时以为是路径的问题,但是在服务器上自己打开都特别慢,自己实在找 ...

  8. 最新的极光推送服务器端代码(java服务器后台向手机端自定义推送消息)

    一共两个类 一个Jdpush  一个JpushClientUtil 代码如下   注解都写的很清楚 package com.sm.common.ajpush; import org.slf4j.Log ...

  9. 返回用户指定页面的web服务器

    import socket import re import os def handle_client(socket_con): """ 接收来自客户端的请求,并接收请求 ...

随机推荐

  1. jsMath对象

    Math对象: abs.用来求绝对值. ceil:用来向上取整. floor:用来向下取整. round:用来四舍五入取近似值. sqrt:用来开方. pow:括号内有2位参数.如pow(2,5)表示 ...

  2. c 语言常量

    1,整数常量 整数常量可以是十进制.八进制或十六进制的常量.前缀指定基数:0x 或 0X 表示十六进制,0 表示八进制,不带前缀则默认表示十进制. 整数常量也可以带一个后缀,后缀是 U 和 L 的组合 ...

  3. __all__

    相信很多人第一次见到这个__all__都很好奇,他有什么作用 那他到底有什么作用呢? 先上代码 from scrapy.utils.reqser import request_to_dict, req ...

  4. Spring知识点回顾(06)Profile 和 条件注解 @Conditional

    1.设定环境中的active profiles 如:DispatcherServerlet的init-param spring.profiles.active=production spring.pr ...

  5. spring-oauth-server实践:授权方式四:client_credentials 模式的refresh_token?

    spring-oauth-server入门(1-13)授权方式四:client_credentials 模式的refresh_token? 有效期内的反复申请access_token获取失效日期不变! ...

  6. 新概念英语(1-51)A pleasant climate

    新概念英语(1-51)A pleasant climate Does it ever snow in Greece? A:Where do you come from? B:I come from G ...

  7. jquery实现链接的title快速出现

    <!DOCTYPE html> <html> <head> <meta charset="utf-8" /> <title&g ...

  8. python 杂货铺

    python 杂货铺之不知道的python操作 1.交互模式下的神奇的_ windos中cmd交互模式中下(python2,python3),最近一个表达式的值赋给变量 _.这样我们就可以把它当作一个 ...

  9. jupyter notebook的架构

    最近项目需要改写jupyter notebook的内核,由于内功不够,英语过差,读文档真的是心痛,然后各种搜索找到了一篇不错的讲解. 转自:http://blog.just4fun.site/jupy ...

  10. Java调用SQL脚本执行的方案

    在Java中调用SQL脚本的方式有多种,在这里只记录一种自己常用的方式,个人觉得挺实用方便的. 运用ScriptRunner这个类. import org.apache.ibatis.io.Resou ...