rsync 系统用户/虚拟用户 备份web服务器数据及无交互定时推送备份
一、服务环境
(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服务器数据及无交互定时推送备份的更多相关文章
- 【Rsync项目实战】备份全网服务器数据
[Rsync项目实战]备份全网服务器数据 标签(空格分隔): Linux服务搭建-陈思齐 ---本教学笔记是本人学习和工作生涯中的摘记整理而成,此为初稿(尚有诸多不完善之处),为原创作品,允许转载,转 ...
- 【Rsync项目实战一】备份全网服务器数据
目录 [Rsync项目实战]备份全网服务器数据 [企业案例] 1.1 环境部署 1.2 开始部署backup服务器:Rsync服务端过程: 1.3 开始部署nfs01服务器:Rsync客户端过程: [ ...
- Python搭建Web服务器,与Ajax交互,接收处理Get和Post请求的简易结构
用python搭建web服务器,与ajax交互,接收处理Get和Post请求:简单实用,没有用框架,适用于简单需求,更多功能可进行扩展. python有自带模块BaseHTTPServer.CGIHT ...
- 【NFS项目实战二】NFS共享数据的时时同步推送备份
[NFS项目实战二]NFS共享数据的时时同步推送备份 标签(空格分隔): Linux服务搭建-陈思齐 ---本教学笔记是本人学习和工作生涯中的摘记整理而成,此为初稿(尚有诸多不完善之处),为原创作品, ...
- ubuntu12.04+proftpd1.3.4a的系统用户+虚拟用户权限应用实践
目录: 一.什么是Proftpd? 二.Proftpd的官方网站在哪里? 三.在哪里下载? 四.如何安装? 1)系统用户的配置+权限控制 2)虚拟用户的配置+权限控制 一.什么是Proftpd? ...
- (转)linux 系统下虚拟用户的作用
原文:http://blog.csdn.net/luoshao20120430/article/details/16900653 http://blog.csdn.net/u01 ...
- linux系统下搭建自己的web服务器
之前在windows 2008 server上搭建了一个用于测试的web服务器,但是在打开网站的时候特别的慢,尤其是图片的加载都会失败,当时以为是路径的问题,但是在服务器上自己打开都特别慢,自己实在找 ...
- 最新的极光推送服务器端代码(java服务器后台向手机端自定义推送消息)
一共两个类 一个Jdpush 一个JpushClientUtil 代码如下 注解都写的很清楚 package com.sm.common.ajpush; import org.slf4j.Log ...
- 返回用户指定页面的web服务器
import socket import re import os def handle_client(socket_con): """ 接收来自客户端的请求,并接收请求 ...
随机推荐
- c# 几种深拷贝方式的比较
public static class Tools { //利用 BinaryFormatter 实现深拷贝 public static T DeepCopyByBinary<T>(thi ...
- 算法题丨3Sum
描述 Given an array S of n integers, are there elements a, b, c in S such that a + b + c = 0? Find all ...
- Mego开发文档 - 快速概述
Mego 快速概述 Mego 是一款轻量级,可扩展和跨平台的数据访问技术. Mego 是一个对象关系映射器(O / RM),它使.NET开发人员能够使用.NET对象处理数据库.它消除了开发人员通常需要 ...
- Mego开发文档 - 基本保存操作
基本保存操作 在Mego中没有更改跟踪,也就是说所有的新增.更新及删除都需要开发者自行判断.Mego会最为实际的将各个数据操作提交给数据库并执行. 添加数据 using (var db = new O ...
- iot前台开发环境:请求示例
参考链接:http://www.cnblogs.com/keatkeat/category/872790.html 编辑->update保存 一.typescipt import { Injec ...
- SpringCloud的应用发布(四)vmvare+linux,防火墙和selinux
一.vmvare网络配置为nat模式 二.vmvare的网络设置为桥接bridge模式 1.linux 网卡的ip获取方式dhcp 三.关闭linux的防火墙和selinux 1.临时关闭防火墙 sy ...
- flask 视图函数的使用
flask框架 视图函数当中 各种实用情况简单配置 1 建立连接 2 路由参数 3 返回网络状态码 4 自定义错误页面 5 重定向 6 正则url限制 和 url 优化 7 设置和获取cookie # ...
- 百度播放器SDK 播放MP4格式视频有声音无画面问题解决
此处为记录解决过程. 所链接使用的MP4格式视频为codec id是mp4v-20.使用手机自带播放器可以播放,使用百度云媒体播放器不能无画面.经调试,Android Baidu-Cloud-Play ...
- python3全栈开发-面向对象、面向过程
一. 什么是面向对象的程序设计及为什么要有它 1.面向过程 面向过程的程序设计:核心是过程二字,过程指的是解决问题的步骤,即先干什么再干什么......面向过程的设计就好比精心设计好一条流水线,是一种 ...
- Hive函数:SUM,AVG,MIN,MAX
转自:http://lxw1234.com/archives/2015/04/176.htm,Hive分析窗口函数(一) SUM,AVG,MIN,MAX 之前看到大数据田地有关于max()over(p ...