rsync 是unix系统下的数据镜像备份工具,有如下几个特点1.可以镜像保存整个目录树和文件系统;2.可以很容易做到保持原来文件的权限、时间、软硬链接等;3.无须特殊权限即可安装;4.优化的流程,文件传输效率高;5.可以使用rcp、ssh等方式来传输文件,当然也可以通过直接的socket连接;6.支持匿名传输。这里介绍如何在AIX6.1系统上安装及配置rsync
工具/原料
AIX 6.1 rsync gettext popt libiconv
rsync安装
1、从网上下载rsync安装包及安装时依赖的安装包:gettext-0.17-8.aix6.1.ppc.rpmlibiconv-1.14-1.aix6.1.ppc.rpmpopt-1.16-2.aix6.1.ppc.rpmrsync-3.0.9-1.aix6.1.ppc.rpm安装时,需要在服务端和客户端均安装上面软件。
2、安装顺序如下:# rpm -ivh gettext-0.17-8.aix6.1.ppc.rpm --nodeps# rpm -ivh libiconv-1.14-1.aix6.1.ppc.rpm# rpm -ivh popt-1.16-2.aix6.1.ppc.rpm# rpm -ivh rsync-3.0.9-1.aix6.1.ppc.rpm注意:安装gettext-0.17-8.aix6.1.ppc.rpm时,添加nodeps参数,目的是不检查依赖关系,否则会报如下错误:error: failed dependencies: libiconv.a(libiconv.so.2) is needed by gettext-0.17-8 libxlsmp.a(smprt.o) is needed by gettext-0.17-8
3、启动rsync时报如下错误:Could not load program rsync:Could not load module /usr/lib/libpopt.a(libpopt.so.0). Dependent module /usr/lib/libiconv.a(libiconv.so.2) could not be loaded. Member libiconv.so.2 is not found in archive Could not load module rsync. Dependent module /usr/lib/libpopt.a(libpopt.so.0) could not be loaded.Could not load module .
4、关于上面错误,开始也是百思不得其解,后来在网上查询,看到一篇文章提示“删掉/usr/lib/libiconv.a,然后创建link文件指向/opt/freeware/lib/libiconv.a”对比两个文件时发现,两个文件无论是字节数还是修改日期均不相同。
5、备份/usr/lib/libiconv.a,然后创建link文件/opt/freeware/lib/libiconv.a# mv libiconv.a libiconv.a.bak# ln -s /opt/freeware/lib/libiconv.a
6、执行rsync,不再有错误提示。# rsync
rsync配置
1、配置rsync服务端,在服务器上编辑/etc/rsyncd.conf,添加如下内容:uid = rootgid = system use chroot = nomax connections = 10strict modes = yesport = 873ignore errorsread only = yeslist = noauth users = rootsecrets file = /etc/rsync.pashosts allow = 100.0.0.30hosts deny = 0.0.0.0/0pid file = /var/run/rsyncd.pidlock file = /var/run/rsync.locklog file = /var/log/rsyncd.log[backup]path = /db2data/logread only = yeslist = no
2、参数说明:参数包括两部分,全局参数和模块参数全局参数:uid 所属用户ID,一般为rootGid 所属权限组use chroot 在传输文件的之前,是否转到用户根目录。Max connections 最大连接数Pid file 服务进程pid保存文件Lock file 锁文件路径Log file 日至文件路径Hosts allow 允许访问的ip地址,如果有多个ip,请用空格分割。auth users 设定访问用户,可以是多个用户,用空格分开。这里的用户与系统用户无关。secrets file 该选项指定一个包含定义用户名:密码对应文件。只有在"auth users"被定义时,该文件才有作用。模块参数:[module name] 要备份的模块名,该名称客户端进行同步时需要调用Path 要备份的目录,如果要备份多个路径,则只需再添加模块设置即可。,
3、配置访问密码:由于在主配置文件中设定了auth users和secrets file。因此在服务端和客户端均需配置/etc/rsync.pas,只是在服务器端,必须加入登陆名和密码,在client上,只需要输入密码。# cat rsync.pasroot:12345678
4、用命令进行同步:# rsync -auv --progress [email protected]:/db2data/log /test或者rsync -auv --progress [email protected]::backup /test/log
5、rsync命令的主要参数:Rsync 同步服务-vzrtopg v详细提示 a以archive模式操作,复制目录、符号连接 z压缩 u只进行更新,防止本地新文件被重写,注意两者机器的时钟的同时--progress 显示进程--delete 删除文件保持同步[email protected]服务器允许访问的用户名及服务地址 ::bakcup 服务器中定义的备份模块名(注意:在模块名前面有两个冒号“::” 表示远程文件同步,只有一个冒号,表示本地文件同步)/test/log 本地备份文件目录