Linux_Rsync远程同步备份服务器

举报
云物互联 发表于 2021/08/06 00:25:52 2021/08/06
【摘要】 目录 目录Remote Sync 同步的类型 本地模式远程模式RSync列表模式RSync 服务模式 Setup RSync serviceHow to use the rsync commandsinotifyrsync Real-time syncSetup inotify Remote Sync 功能: 1. 可以镜像保存整个目录树...

目录

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

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

远程模式

底层是使用SSH协议
example:

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

RSync列表模式

example:

rsync -a IP:cisco
  
 
  • 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

step2. Create password file

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

step3. Start rsync service

rsync --deamon
  
 
  • 1

How to use the rsync commands

rsync指令选项

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

SSH Source create Key Pair:

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

RSync Source create Key Pair:
vim /etc/rsyncd.conf

RSYNC_PASSWORD="pwd123"
  
 
  • 1

RSync backup:

rsync -avzH -b --backup-dir=old root@SyncServerIP:/syncDirectory /localhostBackupDirectory #old --> 只是备份有修改过的文件到该目录中,并且创建在本地指定的/localostBackupDirectory目录中 #-b --> backup mode
rsync -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

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

Setup inotify

tar zxvf inotify-tools -C /usr/local
cd /usr/local/inotify-tools
./confugure && make && make install
inotifywait -mrq -e modify,create,move,delete  /data/ --exclude=/data/up/ #wait 持续监控 #-e 指定监控事件的类型 #--exclude  过滤不想监控的目录或内容
  
 
  • 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

文章来源: is-cloud.blog.csdn.net,作者:范桂飓,版权归原作者所有,如需转载,请联系作者。

原文链接:is-cloud.blog.csdn.net/article/details/50307553

【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。