一、服务环境

(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. JAVA_SE基础——35.static修饰成员函数

    在Java中适用static关键字修饰的方法称为静态方法. 声明静态方法的语法格式如下: 权限修饰符 static 数据类型 方法名(){ 方法体 } 静态方法 可以使用类名直接调用     类名.方 ...

  2. 验证码进阶(TensorFlow--基于卷积神经网络的验证码识别)

    本人的第一个深度学习实战项目,参考了网络上诸多牛人的代码,在此谢过,因时间久已,不记出处,就不一一列出,罪过罪过. 我的数据集是我用脚本在网页上扒的,标签是用之前写的验证码识别方法打的.大概用了400 ...

  3. JavaScript Cookie使用实例

    # Session-Cookie //  利用Cookie防止在1分钟内多次提交: function SetCookie (name, value) { var Days = 30; var exp ...

  4. leetcode算法:Island Perimeter

    You are given a map in form of a two-dimensional integer grid where 1 represents land and 0 represen ...

  5. Docker学习(1)安装

    1. Docker简介 Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化.容器是完全使用沙箱 ...

  6. 控件篇:CheckedListBox的全选与反选

    private void cbXmlAll_CheckedChanged(object sender, EventArgs e) { for (int i = 0; i < cblXmlList ...

  7. html框架练习-基本网页制作

    index.html <html> <head> <title>html框架</title> <meta charset="utf-8& ...

  8. cookielib和urllib2模块结合模拟网站登录

    1.cookielib模块 cookielib模块的主要作用就是提供可存储cookie的对象,以便于与urllib2模块配合使用来访问internet资源,例如可以利用本模块的cookiejar类的对 ...

  9. jquery的attr()方法

    一.定义和用法 attr() 方法设置或返回被选元素的属性和值. 当该方法用于返回属性值,则返回第一个匹配元素的值. 当该方法用于设置属性值,则为匹配元素设置一个或多个属性/值对. 二.语法 返回属性 ...

  10. SQL Server 2014 HADR_DATABASE_WAIT_FOR_TRANSITION_TO_VERSIONING 等待

    最近有发现SAP 的MES系统上了AlwaysOn后辅助节点发现无法查询的情况,例如在辅助节点上执行: SELECT TOP 0 * FROM TABLE1; 语句执行正常SELECT TOP 1* ...