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
# 用户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# 可读可写(true或false)read only = false# 阻止远程列表(不让通过远程方式看服务端有啥)list=false# 允许IPhosts allow = 192.168.197.0/24# 禁止IPhosts deny = 0.0.0.0/32# 虚拟用户auth users = rsync_backup# 存放用户和密码的文件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
传送成功,配置完毕。

浙公网安备 33010602011771号