科技常识:rsync 安装使用详解

2021-04-03 10:15:10
导读 今天小编跟大家讲解下有关科技常识:rsync 安装使用详解,相信小伙伴们对这个话题应该也很关注吧,小编也收集到了有关科技常识:rsync 安

今天小编跟大家讲解下有关科技常识:rsync 安装使用详解,相信小伙伴们对这个话题应该也很关注吧,小编也收集到了有关科技常识:rsync 安装使用详解的相关资料,希望小伙伴会喜欢也能够帮助大家。

RSYNC软件介绍:rsync是类unix系统下的数据镜像备份工具,从软件的命名上就可以看出来了――remote sync。它的特性如下:可以镜像保存整个目录树和文件系统。可以很容易做到保持原来文件的权限、时间、软硬链接等等。无须特殊权限即可安装。优化的流程,文件传输效率高。可以使用rcp、ssh等方式来传输文件,当然也可以通过直接的socket连接。支持匿名传输,以方便进行网站镜象。

软件下载

rysnc的主页地址为:http://rsync.samba.org/目前最新版本为2.4.6。可以选择从原始网站下载:http://rsync.samba.org/ftp/rsync/。也可以选择从本站下载:rsync 2.4.6

一、下载、安装rsync

#tar zxvf rsync-2.6.9.tar.gz#cd rsync-2.6.9#./configure --prefix=/usr/local/rsync#make #make install **** 正常安装RH的时候是带RSYNC的,运行文件放在/usr/bin/rsync

二、配置rsync server

1、启动RSYNC#vi /etc/xinetd.d/rsync 把原来的YES改成NOservice rsync{ disable = no socket_type = stream wait = no user = root server = /usr/bin/rsync server_args = --daemon log_on_failure += USERID}随系统启动RSYNC #chkconfig rsync on

2、配置/etc/rsyncd.conf(需要手动生成)rsyncd.conf的参数写在上边就是全局参数和写在模块里的就是模块参数#vi /etc/rsyncd.conf全局参数uid = root //运行RSYNC守护进程的用户gid = root //运行RSYNC守护进程的组use chroot = no //不使用chrootmax connections = 4 // 最大连接数为4strict modes =yes //是否检查口令文件的权限port = 873 //默认端口873模块参数[backup] //这里是认证的模块名,在client端需要指定path = /home/backup/ //需要做镜像的目录,不可缺少!comment = This is a test //这个模块的注释信息 ignore errors //可以忽略一些无关的IO错误read only = yes // 只读list = no //不允许列文件auth users = hening //认证的用户名,如果没有这行则表明是匿名,此用户与系统无关secrets file = /etc/rsync.pas //密码和用户名对比表,密码文件自己生成hosts allow = 192.168.1.1,10.10.10.10 //允许主机hosts deny = 0.0.0.0/0 //禁止主机#transfer logging = yes注释:下面这些绿色文件是安装完RSYNC服务后自动生成的文件pid file = /var/run/rsyncd.pid //pid文件的存放位置lock file = /var/run/rsync.lock //锁文件的存放位置log file = /var/log/rsyncd.log //日志记录文件的存放位置3、配置rsync密码(在上边的配置文件中已经写好路径) /etc/rsync.pas(名字随便写,只要和上边配置文件里的一致即可),格式(一行一个用户)账号:密码 #vi /etc/rsync.pas例子:Hening:111111权限:因为rsync.pas存储了rsync服务的用户名和密码,所以非常重要。要将rsync.pas设置为root拥有, 且权限为600。#cd /etc#chown root.root rsync.pas #chmod 600 rsync.pas3.rsyncd.motd(配置欢迎信息,可有可无)# vi /etc/rsyncd.motdrsyncd.motd记录了rsync服务的欢迎信息,你可以在其中输入任何文本信息,如:Welcome to use the rsync services!4、让配置生效#service xinetd restart

三、启动rsync server

RSYNC服务端启动的两种方法1、启动rsync服务端(独立启动)#/usr/bin/rsync Cdaemon2、启动rsync服务端 (有xinetd超级进程启动)# /etc/rc.d/init.d/xinetd reload

四:加入rc.local

在各种操作系统中,rc文件存放位置不尽相同,可以修改使系统启动时把rsync --daemon加载进去。#vi /etc/rc.local加入一行/usr/bin/rsync --daemon

五.检查rsync

#netstat -a | grep rsync tcp 0 0 0.0.0.0:873 0.0.0.0:* LISTEN

六.配置rsync client

1、设定密码#vi /etc/rsync.pas111111修改权限#cd /etc#chown root.root rsync.pas #chmod 600 rsync.pas2、client连接SERVER 从SERVER端取文件/usr/bin/rsync -vzrtopg --progress --delete hening@192.168.0.217::backup /home/backup --password-file=/etc/rsync.pas 向SERVER端上传文件 /usr/bin/rsync -vzrtopg --progress --password-file=/root/rsync.pas /home/backup hening@192.168.0.217::backup 这个命令将把本地机器/home/backup目录下的所有文件(含子目录)全部备份到RSYNC SERVER(172.20.0.6)的backup模块的设定的备份目录下。请注意如果路径结束后面带有"/",表示备份该目录下的东东,但不会创建该目录,如不带"/"则创建该目录。RSYNC用法: rsync [OPTION]... [USER@]HOST::SRC [DEST] #从RSYNC SERVER备份文件到本地机器 rsync [OPTION]... SRC [SRC]... [USER@]HOST::DEST #从本地机器备份文件到RSYNC SERVER3、自动运行1)vi /usr/local/rsync/time.sh //制作脚本文件把下边的内容复制进去#!/bin/bash/usr/bin/rsync -vzrtopg --progress --delete hening@192.168.0.217::backup /home/backup --password-file=/etc/rsync.pas2) crontab -e加入55 * * * * /usr/local/rsync/time.sh //每55分运行一次time.sh脚本文件五 iptablesiptables -A INPUT -p tcp -s ! 11.22.33.44 --dport 873 -j DROP如此, 只有 11.22.33.44 这个 client IP 能进入这台 rsync server.命令介绍:-rvlHpogDtSrsync命令参数-v表示verbose详细显示-z表示压缩-r表示recursive递归-t表示保持原文件创建时间-o表示保持原文件属主-p表示保持原文件的参数-g表示保持原文件的所属组-a存档模式-P表示代替-partial和-progress两者的选项功能-e ssh建立起加密的连接。--partial阻止rsync在传输中断时删除已拷贝的部分(如果在拷贝文件的过程中,传输被中断,rsync的默认操作是撤消前操作,即从目标机上删除已拷贝的部分文件。)--progress是指显示出详细的进度情况--delete是指如果服务器端删除了这一文件,那么客户端也相应把文件删除,保持真正的一致。--exclude不包含/ins目录--size-only 这个参数用在两个文件夹中的差别仅是源文件夹中有一些新文件,不存在重名且被修改过的文件,因为这种文件有可能会因为内容被修改可大小一样,而被略过。这个参数可以大大地提高同步的效率,因为它不需要检查同名文件的内容是否相同。--password-file来指定密码文件,内容包含server端指定认证用户的密码。这样就可以在脚本中使用而无需交互式地输入验证密码了,这里需要注意的是这份密码文件权限属性要设得只有属主可读。hening@192.168.0.217::backuphening是指server端指定认证的用户192.168.0.217是指服务器端的ip::backup 表示服务器端需要同步的模块名称;/home/quack/backup/$DATE是同步后的文件指存放在本机的目录地址。/var/log/rsync.$DATE是同步后的日志文件存放在本机的目录地址。注意不放/ 则目录名也包含mirror,放 / 则只有目录里面的东西mirror了实例总结流程:1.配置主控端# vim /etc/rsyncd.conf###################################uid = nobodygid = nobodyuse chroot = nomax connections = 4stirict modes = yesport = 873[backup]path = /usr/local/test/comment = This is a testignore errorsread only = falselist = nohosts allow = 192.168.0.11hosts deny = 0.0.0.0/0auth users = bakwebsecrets file =/etc/rsyncd.pwpid file = /var/run/rsyncd.pidlock file = /var/run/rsync.locklog file = /var/log/rsyncd.log#################################### vim /etc/rsyncd.pw###################################bakweb:123456#################################### cd /etc# chown root.root rsyncd.pw# chmod 600 rsyncd.pw启动rsync server# rsync --daemon查看端口873是否打开加入启动# echo"rsync --daemon">>/etc/rc.local给/usr/local/test目录写权限# chown -R nobody.nobody /usr/local/test# chmod -R 770 /usr/local/test主控配置完成2.客户端配置# vim /etc/rsyncd.pw####################################123456##################################### chown root.root /etc/rsyncd.pw# chmod 600 /etc/rsyncd.pw再使用命令直接更新到服务器数据文件就不需要密码rsync -vzrtopg --progress --password-file=/etc/rsyncd.pw /usr/local/bin/ bakweb@192.168.0.10::backup

注意:

1.这里的backup名字为主控conf配置里面的[backup],一定要同名2.bakweb为主控conf配置里面的bakweb,可以随意命名,不是系统用户

来源:爱蒂网

免责声明:本文由用户上传,如有侵权请联系删除!

猜你喜欢

最新文章