rsync

Rsync是一款开源的,快速的,多功能的,可实现全量及增量的本地或远程数据同步备份的优秀工具。

Rsync软件适用于unix/linux/windows等多种操作系统平台。

Rsync有三种模式:1.本地模式(类似于cp命令)

         2.远程模式(类似于scp命令)

         3.守护进程(socket进程:是rsync的重要功能)

把系统的hosts文件同步到/opt目录:rsync /etc/hosts /opt

把opt目录拷贝到/mnt下:rsync -avz /opt /mnt

删除:rsync -avz --delete /old/ /tmp(将tmp目录下比old目录下多的文件删除)

一、某DBA做数据同步,带宽占满,导致用户无法访问网站。

  解答:rsync -avz dbfile 10.0.0.41:/backup(没有给带宽做限制)

     rsync -avz --bwlimit=100 dbfile 172.16.1.41:/backup(限定了带宽)

二、测试本地rsync同步:rsync -avz /opt /tmp

  

三、将当前主机内容推送到远程主机

  rsync -avzP -e 'ssh -p 22'/etc/ root@192.168.126.136:/tmp/(开始同步)

  ssh root@zhuji "ls -l /tmp" (查看同步结果)

四、将远程主机内容拉取到当前主机

  rsync -avzP -e 'ssh -p 22' root@zhuji:/opt /tmp

  

五、以守护进程(socket)的方式传输数据(重点)

创建服务端:

  首先确认软件是否安装:rpm -qa rsync

  然后创建rsyncd.conf文件,并添加如下内容(文件默认不存在)

    #vim /etc/rsyncd.conf

  1. # 用户
  2. uid = rsync
  3. # 组
  4. gid = rsync
  5. # 程序安全设置
  6. use chroot = no
  7. # 客户端连接数
  8. max connections = 200
  9. # 超时时间
  10. timeout = 300
  11. # 进程号文件位置
  12. pid file = /var/run/rsyncd.pid
  13. # 进程锁
  14. lock file = /var/run/rsync.lock
  15. # 日志文件位置
  16. log file = /var/log/rsyncd.log
  17. ##########################################
  18. [backup]
  19. # 使用目录
  20. path = /backup/
  21. # 有错误时忽略
  22. ignore errors
  23. # 可读可写(true或false)
  24. read only = false
  25. # 阻止远程列表(不让通过远程方式看服务端有啥)
  26. list=false
  27. # 允许IP
  28. hosts allow = 192.168.197.0/24
  29. # 禁止IP
  30. hosts deny = 0.0.0.0/32
  31. # 虚拟用户
  32. auth users = rsync_backup
  33. # 存放用户和密码的文件
  34. secrets file = /etc/rsync.password

   创建共享目录及添加rsync程序用户:

  启动服务:rsync --daemon

  

  将A-Sever上的/backup文件夹更改属主rsync

  创建rsync虚拟账户名和密码

  将账户密码文件的权限设置为600

  加入开机启动

创建客户端:

  只需要创建密码文件

  将密码文件的权限设置为600

六、如下图:

 解答:首先,我们要先配置好服务端和客户端。

配置服务端:

1.确认软件是否安装: which rsync scp

2.配置系统文件: vim /etc/rsyncd.conf

uid = rsync
gid = rsync
use chroot = no
max connections = 200
timeout = 300
pid file = /var/run/rsyncd.pid
lock file = /var/run/rsync.lock
log file = /var/log/rsyncd.log
[backup]
path = /backup/
ignore errors
read only = false
list = false
hosts allow = 192.168.126.0/24
hosts deny = 0.0.0.0/32
auth users = rsync_backup
secrets file = /etc/rsync.password

3.创建共享目录和rsync的程序用户

useradd -M -s /sbin/nologin rsync

cat /etc/passwd | grep rsync

cat /etc/group | grep rsync

mkdir /backup

4.更改属主:chown -R rsync /backup

5.创建虚拟用户: echo "rsync_backup:123456" >> /etc/rsync.password

6.将账户密码文件的权限更改为600: chmod 600 /etc/rsync.password

7.加入开机启动: echo "rsync --daemon" >> /etc/rc.local

  也可以用另一种开机自启 chkconfig rsync on,但要修改为chkconfig使用的脚本。

  重启rsync命令,先杀掉: pkill rsync,然后启动: rsync --daemon

配置客户端:

1.查看命令是否存在: which rsync scp

2.创建密码文件: echo “123456” > /etc/rsync.password

3.将密码文件权限设置为600: chmod -R /etc/password

4.配置脚本client: vim client

5.配置定时任务: crontab -e

0 0 * * * /bin/sh client

传送成功,配置完毕。

原文地址:https://www.cnblogs.com/mashuang/p/9923380.html