本文主要是介绍rsync数据备份(三)--非系统用户备份数据--RHEL6.5,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
配置系统文件/etc/rsyncd.conf备份数据,创建备份账户,最后rsync以守护进程的方式运行。
服务器:192.168.80.137
客户端:192.168.80.138
1. 配置文件rsyncd.conf
1)配置项简介
port #→指定后台程序使用的端口号,默认为 873。
uid #→该选项指定当该模块传输文件时守护进程应该具有的 uid,配合 gid 选项使用可以确定哪些可以访问怎么样的文件权限,默认值是" nobody"。
gid #→该选项指定当该模块传输文件时守护进程应该具有的 gid。默认值为" nobody"。
max connections #→指定该模块的最大并发连接数量以保护服务器,超过限制的连接请求将被告知随后再试。默认值是 0,也就是没有限制。
lock file #→指定支持 max connections 参数的锁文件,默认值是/var/run/rsyncd.lock。
motd file #→" motd file"参数用来指定一个消息文件,当客户连接服务器时该文件的内容显示给客户,默认是没有 motd 文件的。
log file #→" log file"指定 rsync 的日志文件,而不将日志发送给 syslog。
pid file #→指定 rsync 的 pid 文件,通常指定为“/var/run/rsyncd.pid” ,存放进程 ID 的文件位置。
hosts allow= #→单个 IP 地址或网络地址 //允许访问的客户机地址常见的模块参数:主要是定义服务器哪个要被同步输出,其格式必须为“[ 共享模块名 ]” 形式,
这个名字就是在rsync 客户端看到的名字,其实很像 Samba 服务器提供的共享名。而服务器真正同步的数据是通过 path 来指定的。
Comment #→给模块指定一个描述,该描述连同模块名在客户连接得到模块列表时显示给客户。默认没有描述定义。
Path #→指定该模块的供备份的目录树路径,该参数是必须指定的。
readonly #→yes 为只允许下载,no 为可以下载和上传文件到服务器
exclude #→用来指定多个由空格隔开的多个文件或目录(相对路径),将其添加到 exclude 列表中。这等同于在客户端命令中使用―exclude 或----filter 来指定某些文件或
目录不下载或上传(既不可访问)
exclude from #→指定一个包含 exclude 模式的定义的文件名,服务器从该文件中读取 exclude 列表定义,每个文件或目录需要占用一行
include #→用来指定不排除符合要求的文件或目录。这等同于在客户端命令中使用--include 来指定模式,结合include 和 exclude 可以定义复杂的
exclude/include 规则。
include from #→指定一个包含 include 模式的定义的文件名,服务器从该文件中读取 include 列表定义。
auth users #→该选项指定由空格或逗号分隔的用户名列表,只有这些用户才允许连接该模块。这里的用户和系统用户没有任何关系。如果" auth users"被设置,
那么客户端发出对该模块的连接请求以后会被 rsync 请求 challenged 进行验证身份这里使用的 challenge/response 认证协议。
用户的名和密码以明文方式存放在" secrets file"选项指定的文件中。默认情况下无需密码就可以连接模块(也就是匿名方式)。
secrets file #→该选项指定一个包含定义用户名:密码对的文件。只有在" auth users"被定义时,该文件才有作用。文件每 行包含一个 username:passwd 对。
一般来说密码最好不要超过 8 个字符。没有默认的 secures file 名,注意:该文件的权限一定要是 600,否则客户端将不能连接服务器。
hosts allow #→指定哪些 IP 的客户允许连接该模块。定义可以是以下形式:
单个 IP 地址,例如:192.167.0.1,多个 IP 或网段需要用空格隔开,整个网段,例如:192.168.0.0/24,也可以是192.168.0.0/255.255.
“*” 则表示所有,默认是允许所有主机连接。
hosts deny #→指定不允许连接 rsync 服务器的机器,可以使用 hosts allow 的定义方式来进行定义。默认是没有 hostsdeny 定义。
list #→该选项设定当客户请求可以使用的模块列表时,该模块是否应该被列出。如果设置该选项为 false,可以创建隐藏的模块。默认值是 true。
timeout #→通过该选项可以覆盖客户指定的 IP 超时时间。通过该选项可以确保 rsync 服务器不会永远等待一个崩溃的客户端。超时单位为秒钟,0 表示没有超时定义
,这也是默认值。对于匿名 rsync 服务器来说,一个理想的数字是 600。
2) rsyncd.conf配置
uid = nobody #运行进程的身份
gid=nobody#运行进程的组
address=192.168.80.137#监听 IP
port=873#监听端口
hosts allow=192.168.80.138#允许同步客户端的 IP 地址,可以是网段,或者用*表示所有 192.168.80.0/24或 192.168.80.0/255.255.255.0
use chroot=yes#是否囚牢,锁定家目录,rsync 被黑之后,黑客无法再 rsync 运行的家目录之外创建文件,选项设置为 yes
max connections=5#最大连接数
pid file= /var/run/rsyncd.pid#进程 PID,自动生成
lock file= /var/run/rsync.lock#指 max connectios 参数的锁文件
log file= /var/log/rsyncd.log#日志文件位置
motd file= /etc/rsyncd.motd#客户端登陆之后弹出的消息,需要创建
[wwwroot]#共享模块名称
path= /var/www/html#路径
comment=used for web-data root #描述
readonly=yes #只读方式(只可以下载)
list=yes#是否允许查看模块信息
auth users=rsyncuser#备份的用户,和系统用户无关
2. 配置提示文件和用户密码文件
1)提示文件
echo“welcome to Backup server” > /etc/rsyncd.motd
2) 密码文件
echo "rsyncuser:password123" >> /etc/rsync.passwd
chmod 600 etc/rsync.passwd
3. 验证
1) 重启服务
service xinetd restart 或者 rsync --daemon --config=/eetc/rsyncd.conf
netstat -anupt | grep 873
chkconfig xinetd on
2) 客户端执行备份
rsync -azP --delete rsyncuser@192.168.80.137::wwwroot /web-back/
4. 计划任务实现自动备份
vim autobackup.sh
export RSYNC_PASSWORD=password123
rsync -avz rsyncuser@192.168.80.137::wwwroot /web-back
chmod u+x autobackup.sh
echo "0 3 * * * sh autobackup.sh &" >> /var/spool/cron/root
这篇关于rsync数据备份(三)--非系统用户备份数据--RHEL6.5的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!