在某个目录下所有文件中 查找 特殊字符串
Rsync是一款开源的、快速的、多功能的、可实现全量及增量的本地或远程数据同步备份的优秀工具
实现 1v4
rsync 命令可以 顶替 cp 命令 实现本地备份数据
rsync 命令可以 顶替 scp 命令 实现远程备份数据
配置文件帮助说明
备份原文件
编写配置文件
要使得参数 o 和 参数 g 生效,即客户端服务器上文件的属主和属组信息,同步至备份服务器依旧和客户端服务器保持一致。
修改 rsyncd.conf 配置文件
修改完配置文件,需要重启服务
需求:备份 a 目录所有文件,b目录除 1.txt 之外的所有文件,c目录不备份。
以上两种都是在备份目录结尾未加 '/'
需求:备份 a 目录所有文件,b 目录除 1.txt 之外的所有文件,c 目录只备份 2.txt 文件
需求:将 web01 服务器和 nfs01 服务器上的 hosts 文件备份至 备份服务器
注意: rsync 客户端无法在服务端创建多级目录,只能创建一级目录
如何白名单中有对应IP允许,则可以传输。否则,拒绝连接。
如果黑名单中没有对应IP信息,则可以传输数据。如果黑名单中有对应IP信息,则拒绝连接。
白名单优先级高于黑名单,若出现黑白名单冲突。
使得客户端可以查看服务端的模块信息
总结:建议设置 list = false ,否则不安全。
Windows平台下如何使用rsync实现文件同步
rsync 是一个很好的文件同步工具,我们需要一个服务端和一个客户端。可以实现把本地文件同步到服务端,也可以把服务端的文件同步到本地。
1、 下载cwRsync客户端(cwRsync)和服务器端(cwRsyncServer)。
2、服务器端(假设IP地址为:192.168.1.100)安装:采用默认选项安装。
安装后,服务默认为手动启动模式,到“管理工具/服务管理”里,启动“RsyncServer”服务,并修改“RsyncServer”为自动启动模式。
3、服务器端配置:编辑rsyncd.conf文件,写入如下信息:
以下是代码片段:
uid = 0
gid = 0 #使用匿名方式传输时必须加入这两行
use chroot = false
strict modes = false
hosts allow = *
log file = rsyncd.log
# Module definitions
# Remember cygwin naming conventions : c:\work becomes /cygwin/c/work
#
[test]
path = /cygdrive/d/temp #指定服务端用来同步的文件,这个表示“d:\temp”文件夹
read only = false
transfer logging = yes
说明:其中[test]是要同步的.模块定义,可以定义多个模块,path是磁盘路径,/cygdrive/d/temp对应到 d:\temp文件夹,由于cwRsync软件在windows下不能够直接挂盘符,采用 /cygdrive/这种模式。
4、在另外一台机器安装客户端(假设IP地址为:192.168.1.101),在命令行模式下,进入安装目录的bin文件夹下,执行: rsync -avr 192.168.1.100::test /cygdrive/d/temp,如此既可把服务端的文件同步到本地。
配置文件rsync的主要有以下三个配置文件rsyncd.conf(主配置文件)、rsyncd.secrets(密码文件)、rsyncd.motd(rysnc服务器信息)
服务器配置文件(/etc/rsyncd.conf),该文件默认不存在,请创建它。
具体步骤如下:
#touch /etc/rsyncd.conf #创建rsyncd.conf,这是rsync服务器的配置文件。
#touch /etc/rsyncd.secrets #创建rsyncd.secrets ,这是用户密码文件。
#chmod 600 /etc/rsyncd/rsyncd.secrets #将rsyncd.secrets这个密码文件的文件属性设为root拥有, 且权限要设为600, 否则无法备份成功!
#touch /etc/rsyncd.motd
下一就是我们修改rsyncd.conf和rsyncd.secrets和rsyncd.motd文件的时候了。
设定/etc/rsyncd.conf
rsyncd.conf是rsync服务器主要配置文件。我们先来个简单的示例,后面在详细说明各项作用。
比如我们要备份服务器上的/home和/opt,在/home中我想把easylife和samba目录排除在外;
# Distributed under the terms of the GNU General Public License v2
# Minimal configuration file for rsync daemon
# See rsync(1) and rsyncd.conf(5) man pages for help
# This line is required by the /etc/init.d/rsyncd script
pid file = /var/run/rsyncd.pid
port = 873
address = 192.168.1.171
#uid = nobody
#gid = nobody
uid = root
gid = root
use chroot = yes
read on
ly = yes
#limit access to private LANs
hosts deny=*
max connections = 5
motd file = /etc/rsyncd.motd
#This will give you a separate log file
#log file = /var/log/rsync.log
#This will log every file transferred - up to 85,000+ per user, per sync
#transfer logging = yes
log format = %t %a %m %f %b
syslog facility = local3
timeout = 300
[rhel4home]
path = /home
list=yes
ignore errors
auth users = root
secrets file = /etc/rsyncd.secrets
comment = This is RHEL 4 data
exclude = easylife/ samba/
[rhel4opt]
path = /opt
list=no
ignore errors
comment = This is RHEL 4 opt
auth users = easylife
secrets file = /etc/rsyncd/rsyncd.secrets
注:关于auth users是必须在服务器上存在的真实的系统用户,如果你想用多个用户以,号隔开,比如auth users = easylife,root
设定密码文件
密码文件格式很简单,rsyncd.secrets的内容格式为:
用户名:密码
我们在例子中rsyncd.secrets的内容如下类似的;在文档中说,有些系统不支持长密码,自己尝试着设置一下吧。
欢迎分享,转载请注明来源:夏雨云
评论列表(0条)