博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Linux_Rsync远程同步备份服务器
阅读量:6424 次
发布时间:2019-06-23

本文共 3339 字,大约阅读时间需要 11 分钟。

Remote Sync

功能: 

1. 可以镜像保存整个目录树和文件系统 
2. 很容易做到保持原来文件的权限,时间,属主,软硬连接等 
3. 可使用rcp,ssh等方式来传输文件,也可直接通过socket来进行连接 
4. 支持匿名传输 
General use for remote backup and backup localhost file into remote host(auto-periodical execute) 
Distinction of backup and copy: 
1. backup:Update the data. 
2. copy:Move all data to other space. 
RSync可以实现增量备份,而且可以同步更新数据,实时备份。RSync主机同步网络YUM源,本地局域网同步RSync主机YUM源。

同步的类型

本地模式

将a目录内的文件通过rsync到另一个b目录 

example:

rsync -av test /tmp
  • 1
  • 1

Attention

a. /tmp/:不将tmp目录备份,只备份tmp目录下的内容 
b. /tmp:将tmp目录及其以下的内容完全备份

远程模式

底层是使用SSH协议 

example:

rsync -av /tmp root@GoalHostIP:/root
  • 1
  • 1

RSync列表模式

example:

rsync -a IP:cisco
  • 1
  • 1

RSync 服务模式:

Rsync同步源、SSH源 –> 备份文件的源主机

Setup RSync service

step1. Create RSync service configuration file by manual 

vim /etc/rsyncd.conf

#RSync configuration file        #Welcome file        motd file = /etc/rsyncd.motd        read>list = yes        uid=root        gid=root        use chroot = no        max connections = 5        log file = /var/log/rsyncd.log        pid file = /var/run/rsyncd.pid        lock file = /var/run/rsyncd/lock        #Specify share directory        [wwwroot]        path = /var/www/html        readonly = yes        auth users = jmilk        #user authentication file, store userName and password        secrets file = /etc/rsyncd.db        comment = rsync directory
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19

step2. Create password file

echo "jmilk:fanguiju" >> /etc/rsyncd.dbchmod 600 /etc/rsyncd.db
  • 1
  • 2
  • 1
  • 2

step3. Start rsync service

rsync --deamon
  • 1
  • 1

How to use the rsync commands

rsync指令选项

-av  同步并且显示详细信息    -z     在传输备份是进行压缩    --delete 将目的位置中有而源位置中没有的文件删除    --password-file=/etc/server  指定存放密钥对的位置    -H   保留硬链接
  • 1
  • 2
  • 3
  • 4
  • 5
  • 1
  • 2
  • 3
  • 4
  • 5

example:

#use rsync source:rsync -avzH --delete backuper@:ip::wwwroot  /var/www/html  --> ::shareDirectory#use ssh source in the client:rsync -avzH root@RSyncServerIP:/syncDirectory    /localhostBackupDirecttory
  • 1
  • 2
  • 3
  • 4
  • 1
  • 2
  • 3
  • 4

SSH Source create Key Pair:

ssh-keygen -t rsassh-copy-id root@RSyncServerIP
  • 1
  • 2
  • 1
  • 2

RSync Source create Key Pair: 

vim /etc/rsyncd.conf

RSYNC_PASSWORD="pwd123"
  • 1
  • 1

RSync backup:

rsync -avzH -b --backup-dir=old root@SyncServerIP:/syncDirectory    /localhostBackupDirectory        #old --> 只是备份有修改过的文件到该目录中,并且创建在本地指定的/localostBackupDirectory目录中        #-b --> backup modersync -avzH -b --backup-dir='date+ "%Y%M%B%H%M%S"' root@SyncServerIP:/syncDirectory    /localhostBackupDirectory #在每次更新后都生成一个只包含修改部分的备份文件rsync -avzH -b --backup-dir='date+ "%Y%M%B%H%M%S"' --exclude=up root@SyncServerIP:/syncDirectory    /localhostBackupDirectory #将备份目录中包含up的文件或子目录排除不备份
  • 1
  • 2
  • 3
  • 4
  • 5
  • 1
  • 2
  • 3
  • 4
  • 5

inotify+rsync Real-time sync

inotify机制:监控文件系统的变化 

Software:inotofy-tools(安装在RSyncServer) 
inotify kernel parameter:

max_queue_events:监控队列大小max_user_instances:最多监控例数max_user_watches:每个实例最多的监控个数
  • 1
  • 2
  • 3
  • 1
  • 2
  • 3

Setup inotify

tar zxvf inotify-tools -C /usr/localcd /usr/local/inotify-tools./confugure && make && make installinotifywait -mrq -e modify,create,move,delete  /data/ --exclude=/data/up/        #wait 持续监控        #-e     指定监控事件的类型        #--exclude  过滤不想监控的目录或内容
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7

BUG:编译安装的过程中可能会出现执行以上指令后出现: libinotifytools.so.o:cannot open shared object file error 

解决办法:ln -S /usr/local/lib/libinotifytools.so.o /usr/lib64

转载:http://blog.csdn.net/jmilk/article/details/50307553

你可能感兴趣的文章
Lucene.Net 2.3.1开发介绍 —— 四、搜索(一)
查看>>
MyBatis Review——开发Dao的方法
查看>>
技术研发国产化进程加快 看传感器企业如何展示十八般武艺
查看>>
技术助力第三次革命
查看>>
《HTML与CSS入门经典(第8版)》——2.6 总结
查看>>
新手指南:在 Ubuntu 和 Fedora 上安装软件包
查看>>
在 CentOS7.0 上搭建 Chroot 的 Bind DNS 服务器
查看>>
大型网站的 HTTPS 实践(二):HTTPS 对性能的影响
查看>>
《Swift 权威指南》——第6章,第6.10节嵌套函数
查看>>
《自己动手做交互系统》——1.3 本章小结
查看>>
Mobile devices bundled with malware?
查看>>
《JavaScript面向对象精要》——1.5 访问属性
查看>>
《Python数据可视化编程实战》—— 第 1 章 准备工作环境
查看>>
Android应用性能优化最佳实践.1.1 Android Studio的优势
查看>>
《设计模式解析(第2版•修订版)》—第2章 2.2节什么是UML
查看>>
【直播】APP全量混淆和瘦身技术揭秘
查看>>
10个大坑,当你产品上架AppStore会遇到
查看>>
【shell 脚本】两种登录方式
查看>>
学习编程的方法
查看>>
升级linux自带的Python
查看>>