001.Rsync简介及使用
一 基础知识
1.1 简介
- 可以镜像保存整个目录树和文件系统;
- 可以同步增量数据,文件传输效率高,同步时间短;
- 可以保留原有文件的权限、时间等属性;
- 加密传输数据,保证了数据的安全性。
1.2 相关目录
1.3 其他
- rsync服务器以deamon方式运行rsync服务,需要打开rsync deamon和启动xinetd服务,默认端口873。
- rsync客户端是发起rsync连接的服务器,安装rsync即可。
- rsync客户端发起连接后,rsync服务器会检查rsync客户端提交rsync服务器内建的户名和密码是否正确,如果通过认证检测,则开始文件传输,传输的过程是按要求先比对文件的大小、属性、权限、MD5值等信息,如果两端文件信息不一致,则按要求同步文件的区别块。
二 部署实例
2.1 拓扑
2.2 安装rsync
[root@apache ~]# cd /tmp/
[root@apache tmp]# tar -zxvf rsync-3.1.2.tar.gz
[root@apache tmp]# cd rsync-3.1.2/
[root@apache rsync-3.1.2]# ./configure
[root@apache rsync-3.1.2]# make && make install
2.3 配置host a rsync
[root@apache ~]# vi /etc/rsyncd.conf
# /etc/rsyncd: configuration file for rsync daemon mode
# See rsyncd.conf man page for more options. # configuration example:
uid = nobody
gid = nobody
use chroot = no
list = no
max connections = 10
pid file = /var/run/rsyncd.pid
log file = /var/log/rsync.log
log format = %t %a %m %f %b
motd file = /etc/rsyncd/rsyncd.motd
# address = 192.161.1.1
# exclude = lost+found/
# transfer logging = yes
# timeout = 900
# ignore nonreadable = yes
# dont compress = *.gz *.tgz *.zip *.z *.Z *.rpm *.deb *.bz2 [data]
path= /tmp
comment = This is my back file
transfer logging = yes
ignore errors
read only = no
list = no
hosts allow = 172.24.8.0/24
uid =root
gid =root
auth users = backuser
secrets file = /etc/rsync.password #[ftp]
#path = /home/ftp
#comment = ftp export area [root@apache ~]# echo "backuser:x120952576" >/etc/rsync.password
[root@apache ~]# chmod 600 /etc/rsync.password
[root@apache ~]# service iptables stop #建议放通或关闭防火墙
2.4 host a启动
[root@apache ~]# /usr/local/bin/rsync --daemon
[root@apache ~]# echo "/usr/local/rsync/bin/rsync --daemon --config=/etc/rsyncd/rsyncd.conf">>/etc/rc.d/rc.local #开机启动
[root@apache ~]# ps -ef | grep rsync #验证是否启动
2.5 配置host b rsync
[root@backup ~]# mkdir /backfile #创建备份目录
[root@backup ~]# echo "x120952576" >/etc/rsync.password
#创建和Host a匹配的密码,路径可自定义,若以命令形式运行,则客户端不需要带用户名。
[root@backup ~]# chmod 666 /etc/rsync.password
[root@backup ~]# service iptables stop #建议放通或关闭防火墙
2.6 执行备份
[root@backup ~]# /usr/local/bin/rsync -vzrtopg --delete --progress backuser@172.24.8.10::data /backfile --password-file=/etc/rsync.password --port=873
三 扩展知识
3.1 相关命令
[root@backup ~]# /usr/local/bin/rsync -vzrtopg --delete --progress /var/log/access.log backuser@172.24.8.10::data --password-file=/etc/rsync.password --port=873 #从客户端上传文件至服务端
3.2 开机启动chkconfig添加
[root@apache ~]# vi /etc/init.d/rsync
#!/bin/bash # chkconfig: - 85 15
# description: rsync status1=$(ps -ef | egrep "rsync --daemon.*rsyncd.conf" | grep -v 'grep')
pidfile="/var/run/rsyncd.pid"
start_rsync="rsync --daemon --config=/etc/rsyncd/rsyncd.conf" function rsyncstart() {
if [ "${status1}X" == "X" ]; then
rm -f $pidfile
${start_rsync}
status2=$(ps -ef | egrep "rsync --daemon.*rsyncd.conf" | grep -v 'grep')
if [ "${status2}X" != "X" ]; then
echo "rsync service start.......OK"
fi
else
echo "rsync service is running !"
fi
} function rsyncstop() {
if [ "${status1}X" != "X" ]; then
kill -9 $(cat $pidfile)
status2=$(ps -ef | egrep "rsync --daemon.*rsyncd.conf" | grep -v 'grep')
if [ "${statusw2}X" == "X" ]; then
echo "rsync service stop.......OK"
fi
else
echo "rsync service is not running !"
fi
} function rsyncstatus() {
if [ "${status1}X" != "X" ]; then
echo "rsync service is running !" else
echo "rsync service is not running !"
fi
} function rsyncrestart() {
if [ "${status1}X" == "X" ]; then
echo "rsync service is not running..."
rsyncstart
else
rsyncstop
rsyncstart
fi
} case $1 in
"start")
rsyncstart
;;
"stop")
rsyncstop
;;
"status")
rsyncstatus
;;
"restart")
rsyncrestart
;;
*)
echo
echo "Usage: $0 start|stop|restart|status"
echo
esac
001.Rsync简介及使用的更多相关文章
- [转帖]rsync简介
rsync用法详细解释 https://www.cnblogs.com/noxy/p/8986164.html 之前一直使用 scp 现在发现这个命令更好一些. 提要 熟悉 rsync 的功能及其特点 ...
- rsync简介与rsync+inotify配置实时同步数据
rsync简介 rsync是linux系统下的数据镜像备份工具.使用快速增量备份工具Remote Sync可以远程同步,支持本地复制,或者与其他SSH.rsync主机同步. rsync特性 rsync ...
- 001. Ansible简介
一 简介 Ansible是一款极其简单的自动化运维工具, 基于Python开发, 集合了众多运维工具(puppet, cfengine, chef, func, fabric)的优点. 实现了批量系统 ...
- 001.Ceph简介概述
一 Ceph简介 Red Hat Ceph是一个分布式的数据对象存储,系统设计旨在性能.可靠性和可扩展性上能够提供优秀的存储服务.分布式对象存储是存储的未来,因为它们适应非结构化数据,并且客户端可以同 ...
- 001.Redis简介及安装
一 Redis简介 1.1 Redis 简介 Redis 是完全开源免费的,遵守BSD协议,是一个高性能的key-value数据库. Redis 与其他 key-value 缓存产品有以下三个特点: ...
- Webpack 2 视频教程 001 - Webpack 简介
这是我免费发布的高质量超清「Webpack 2 视频教程」. Webpack 作为目前前端开发必备的框架,Webpack 发布了 2.0 版本,此视频就是基于 2.0 的版本讲解的. 这个基本就是目前 ...
- 001.Docker简介概述
一 简介 Docker最初是dotCloud公司的一个内部项目,诞生于 2013 年初,由google公司开源的Go语言开发. Docker是一个开源的引擎,可以轻松的为任何应用创建一个轻量级的.可移 ...
- 001.Heartbeat简介
一 Heartbeat简介 1.1 概述 Heartbeat是Linux-HA项目中的一个组件,也是当前开源HA项目中最成功的一个例子,它提供了所有HA软件所需要的基本功能,如心跳检测和资源接管.监测 ...
- 001.Keepalived简介
一 Keepalived 定义 Keepalived 是一个基于VRRP协议来实现的LVS服务高可用方案,可以解决静态路由出现的单点故障问题.一个LVS服务会有2台服务器运行Keepalived,一台 ...
随机推荐
- 【bzoj2754】 SCOI2012—喵星球上的点名
http://www.lydsy.com/JudgeOnline/problem.php?id=2754 (题目链接) 题意 给出$n$个名字串,$m$个点名串,问对于每一个姓名串,它包含多少个点名串 ...
- js中全局变量修改后的值不生效【jsp页面中各个js中内容的加载顺序】
一个老项目中,一个jsp文件中有很多个js文件, 现在要在页面上的一个地方判断一个状态,因为一直找不到原来是在哪里修改的那个状态,所以决定不找了,而是在比较靠前引入的一个js中定义一个全局变量,然后在 ...
- NO.6: 为多态基类声明virtual析构函数
注意:polymorphic base class 应该具有虚析构函数,如果class带有任何virtual函数,也应具有虚析构函数 class不具备polymorphic属性则不应该声明virtua ...
- 使用 yield 减少内存消耗
php 里面想要处理一个文本文件,有一个方法是使用 file() 函数,但是这个函数会读取文件所有内容,可能会导致占用很大内存. // 28.1 M 的文本文件, 200w 行 $file = 'st ...
- 弹指之间 -- Waltz
CHAPTER 18 华尔兹 Waltz 示例歌曲:白桦林,丁香花
- GUI起头
package com.lovo.frame; import java.awt.Color;import java.awt.Container;import java.awt.Font;import ...
- 比特币全节点(bitcoind) eth 全节点
运行全节点的用途: 1.挖矿 2.钱包 运行全节点,可以做关于btc的任何事情,例如创建钱包地址.管理钱包地址.发送交易.查询全网的交易信息等等 选个节点钱包:bitcoind 1.配置文件: ...
- 网络基础知识(一)wireshark 三次握手实践
wireshark 三次握手简介 192.168.18.120 IP地址为我的本机虚拟机IP地址 过滤设置:ip.addr == 192.168.18.120 (ip.addr == 192.168. ...
- js调试系列: 初识控制台
写在最开头:其实我以前就在考虑要不要写这个东西,因为这个东西确实不难,但是为什么会有这么多人问,他们问的不是怎么用控制台,而是不知道控制台能干嘛,他们也知道有 console.log 之类的东西,但他 ...
- Sql语句 表中相同的记录(某个字段)只显示一条,按照时间排序显示最大或最小
原始表数据: