在某个目录下所有文件中 查找 特殊字符串
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 ,否则不安全。
需要定时把客户机上的文件增量同步到服务器上,达到备份效果。
服务器:linux系统
客户机:windows系统
1.linux上安装rsync服务端;
2.windows上安装rsync客户端;
3.客户端上每5分钟触发一次同步。
# vi /usr/local/rsync/rsyncd.conf
# vi /usr/local/rsync/rsyncd.secrets
键入: # testUser:123456 后保存。
此文件权限必须设置:600:
# chmod 600 /usr/local/rsync/rsyncd.secrets
# vi /usr/local/rsync/rsyncd.motd
键入欢迎语,如:
# welcome use rsync service
# /usr/local/rsync/bin/rsync --daemon --config=/usr/local/rsync/rsyncd.conf
# ps aux | grep rsyncd
# vi /etc/rc.local
键入:
# /usr/local/rsync/bin/rsync --daemon --config=/usr/local/rsync/rsyncd.conf
# firewall-cmd --permanent --zone=public --add-port=873/tcp
# firewall-cmd --reload
123456
# chmod.exe 600 /cygdrive/c/etc/rsync.client.password
windows下,文件右键属性-安全-高级-修改所有者-键入administrator-检查名称-保存
C:\etc\waveform_analysis
# rsync.exe --port=873 -arvzP --timeout=30 --contimeout=30 --password-file=/cygdrive/c/etc/rsync.client.password testUser@服务器IP::testModule /cygdrive/c/etc/waveform_analysis
# rsync.exe --port=873 -arvzP --timeout=30 --contimeout=30 --password-file=/cygdrive/c/etc/rsync.client.password /cygdrive/c/etc/waveform_analysis/ testUser@服务器IP::testModule
rsync的缺陷在于无法实现主动触发同步,可以安装成服务,然后定时执行同步,比如每5分钟触发一次同步:
使用 nssm 把 bat 安装成 windows 服务 - (jianshu.com)
配置文件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条)