专栏首页运维ABCAIX环境下文件远程传输复制工具--rsync安装测试
原创

AIX环境下文件远程传输复制工具--rsync安装测试

一、RSYNC简介

  rsync(remote synchronize)是一个远程数据同步工具,可通过LAN/WAN快速同步多台主机间的文件。rsync使用所谓的“rsync算法”来使本地和远程两个主机之间的文件达到同步,这个算法只传送两个文件的不同部分,而不是每次都整份传送,因此速度相当快。

  rsync的基本特点如下:1.可以镜像保存整个目录树和文件系统;2.可以很容易做到保持原来文件的权限、时间、软硬链接等;3.无须特殊权限即可安装;4.优化的流程,文件传输效率高;5.可以使用rsh、ssh等方式来传输文件,当然也可以通过直接的socket连接;6.支持匿名传输。

二、Openssh安装

1.下载软件

Openssl下载:https://www14.software.ibm.com/webapp/iwm/web/reg/download.do?source=aixbp&S_PKG=openssl&lang=en_US

Openssh下载:http://sourceforge.net/projects/openssh-aix

下载得到软件为: openssl-0.9.8.1302.tar.Z 和openssh_5.4p1.tar.z

2.安装openssh

一般是先装openssl再装openssh。通过smit install 安装 openssl和openssh, 如下,输入安装文件的路径,选择接受新的许可协议。

图片.png

3.检查安装包

装完ssl和ssh后安装包如下:

ssh: openssh.base.client、openssh.base.server、openssh.license、openssh.man.en_US、openssh.msg.en_US;

ssl: openssl.license、openssl.man.en_US、openssl.base

4.重启服务

tppc01:/ #stopsrc -s sshd
0513-044 The sshd Subsystem was requested to stop.
tppc01:/ #startsrc -s sshd
0513-059 The sshd Subsystem has been started. Subsystem PID is 1581116.
tppc01:/ #ssh –V
OpenSSH_5.4p1, OpenSSL 0.9.8m 25 Feb 2010
图片.png

三、RSYNC安装

1.安装rsync包

下载安装包port和rsync:

popt-1.7-2.aix5.1.ppc.rpm

rsync-2.6.2-1.aix5.1.ppc.rpm

链接为:

ftp://ftp.software.ibm.com/aix/freeSoftware/aixtoolbox/RPMS/ppc/rsync/rsync-2.6.2-1.aix5.1.ppc.rpm ftp://ftp.software.ibm.com/aix/freeSoftware/aixtoolbox/RPMS/ppc/rpm/popt-1.7-2.aix5.1.ppc.rpm

用smitty进行安装,将软件包放置于/tmp/rsync目录下,安装如下:

图片.png

2.服务器端配置

服务器端为源端(172.27.34.237),源端配置文件主要为rsyncd.conf(主配置文件)、rsyncd.pwd(密码文件)、rsyncd.motd(rsync服务器信息),在/etc下新建rsync目录,进入/etc/rsync新建配置文件rsyncd.conf、rsyncd.pwd、rsyncd.motd.

rsyncd.conf内容如下:

图片.png

rsyncd.conf 是rsync服务器主要配置文件,该文件默认不存在需手动创建。

uid=root
gid=system
#max connections=4
use chroot=true
log file=/var/log/rsyncd.log
pid file=/var/run/rsyncd.pid
motd file = /etc/rsync/rsyncd.motd
#lock file=/var/run/rsyncd.lock
#auth users=root
secrets file=/etc/rsync/rsyncd.pwd
transfer logging = true
#port = 873
#limit access to private LANs
hosts allow=172.27.34.238
#hosts deny=*
[rsync]
path=/home/rsync
comment = home rsync 
#ignore errors
read only = yes
list = yes 
auth users = root 
secrets file=/etc/rsync/rsyncd.pwd

rsyncd.pwd内容如下:

图片.png

rsyncd.pwd为密码文件,格式为:user:password;此用户必须系统中存在,密码为rsync同步密码,可以与系统密码不同,服务器端与客户端保持一致即可;为保证密码的安全性,密码文件权限应设置为600,属主为root

rsyncd.motd内容为:

++++++++++++++++++++++++++++++++++++++++++++++
 
  Welcome to use the Location A To Location B rsync services!
 
                  2018------2019
 
++++++++++++++++++++++++++++++++++++++++++++++

rsyncd.motd是定义rysnc 服务器信息的,也就是用户登录信息。比如让用户知道这个服务器是谁提供的等;类似ftp服务器登录时,我们所看到的提示信息。在全局定义变量时,并不是必须的。

图片.png

3.客户端配置

图片.png

注意:客户端密码文件格式与服务器端不同,密码文件权限属性为属主可读。

4.启动rsync服务

服务器端:

启动rsync进程

/usr/bin/rsync --daemon --config=/etc/rsync/rsyncd.conf

此服务项不会开机启动,服务端机器重启后需启动该服务

检查服务是否启动,查看进程:

ps –ef|grep rsync

检查端口(rsync默认端口为873,端口监听证明服务拉起):

netstat –an|grep 873
图片.png

以上为正常程序正常启动

客户端:

rsync -vzrtopg --progress --delete --exclude "diff_bak/" --password-file=/etc/rsync/rsyncd.pwd root@172.27.34.237::rsync  /home/rsync
图片.png

为了保证定时同步,客户端同步命令可以写成定时任务形式定时同步。

四、配置信息详解

1.服务器端定义

全局定义

参数

说明

uid=root

服务器端传输文件时,要发哪个用户和用户组来执行,默认是nobody

gid=system

服务器端传输文件时,要发哪个用户和用户组来执行,默认是nobody

max connections=4

客户端最多连接数

use chroot=true

在传输文件之前,服务器守护程序在将chroot 到文件系统中的目录中,这样做的好处是可能保护系统被安装漏洞侵袭的可能。缺点是需要超级用户权限。另外对符号链接文件,将会排除在外。也就是说,你在rsync服务器上,如果有符号链接,你在备份服务器上运行客户端的同步数据时,只会把符号链接名同步下来,并不会同步符号链接的内容

log file=/var/log/rsyncd.log

rsync服务器的日志

pid file=/var/run/rsyncd.pid

告诉进程写到/var/run/rsyncd.pid文件中

motd file=/etc/rsync/rsyncd.motd

定义motd file路径,rsyncd.motd内容是定义服务器信息的,用户登录时会看到这个信息

transfer logging = true

传输文件日志

port = 873

指定运行端口,默认是873,可以自己指定

hosts allow=172.27.34.238

可以指定单个IP,也可以指定整个网段,能提高安全性。格式是ip 与ip 之间、ip和网段之间、网段和网段之间要用空格隔开

read only = yes

只读选择,不让客户端上传文件到服务器上

模块定义

参数

说明

rsync

模块名。主要是定义服务器哪个目录要被同步。每个模块都要以name形式。这个名字就是在rsync 客户端看到的名字。服务器真正同步的数据是通过 path 来指定的。我们可以根据自己的需要,来指定多个模块。每个模块要指定认证用户,密码文件、但排除并不是必须的

path=/home/rsync

指定文件目录所在路径

comment = home rsync

注释。注释内容可自己定义,起提示作用

ignore errors

忽略IO错误

exclude = beinan/ samba/

把/home目录下的beinan和samba 排除在外,beinan/和samba/目录之间有空格分开

list = yes

list 意思是把rsync 服务器上提供同步数据的目录在服务器上模块是否 显示列出来。默认是yes 。如果你不想列出来,就no ;如果是no是比较安全的,至少别人不知道你的服务器上提供了哪些目录。你自己知道就行了

auth users = root

认证用户是root,用户必须在服务器上存在,如果想用多个用户,需以,隔开,如auth users = root,user1

secrets file=/etc/rsync/rsyncd.pwd

密码文件保存路径

2.客户端定义

rsync命令格式:

1.rsync OPTION... SRC SRC... USER@HOST:DEST 2.rsync OPTION... USER@HOST:SRC DEST 3.rsync OPTION... SRC SRC... DEST 4.rsync OPTION... USER@HOST::SRC DEST 5.rsync OPTION... SRC SRC... USER@HOST::DEST 6.rsync OPTION... rsync://USER@HOST:PORT/SRC DEST

rsync有六种不同的工作模式:

1.拷贝本地文件;当SRC和DES路径信息都不包含有单个冒号":"分隔符时就启动这种工作模式。 2.使用一个远程shell程序(如rsh、ssh)来实现将本地机器的内容拷贝到远程机器。当DST路径地址包含单个冒号":"分隔符时启动该模式。 3.使用一个远程shell程序(如rsh、ssh)来实现将远程机器的内容拷贝到本地机器。当SRC地址路径包含单个冒号":"分隔符时启动该模式。 4.从远程rsync服务器中拷贝文件到本地机。当SRC路径信息包含"::"分隔符时启动该模式。 5.从本地机器拷贝文件到远程rsync服务器中。当DST路径信息包含"::"分隔符时启动该模式。 6.列远程机的文件列表。这类似于rsync传输,不过只要在命令中省略掉本地机信息即可。

rsync中的参数:

参数

说明

-a

以archive模式操作、复制目录、符号连接 相当于-rlptgoD

-r

递归

-l

是链接文件,意思是拷贝链接文件

-p

表示保持文件原有权限

-t

保持文件原有时间

-g

保持文件原有用户组

-o

保持文件原有属主

-D

相当于块设备文件

-P

传输进度

-v

传输时的进度等信息

-e

ssh的参数建立起加密的连接

-u

只进行更新,防止本地新文件被重写,注意两者机器的时钟的同步

--progress

指显示出详细的进度情况

--delete

指如果服务器端删除了这一文件,那么客户端也相应把文件删除,保持真正的一致

--password-file=/password/path/file

指定密码文件,这样就可以在脚本中使用而无需交互式地输入验证密码了,这里需要注意的是这份密码文件权限属性要设得只有属主可读

本文所有脚本和配置文件已上传:AIX环境下文件远程传输复制工具--rsync安装测试

原创声明,本文系作者授权云+社区发表,未经许可,不得转载。

如有侵权,请联系 yunjia_community@tencent.com 删除。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • Linux关闭ssh1服务

    安全的同事通过nusses扫描发现一台服务器有ssh1漏洞:tcp/22:10882 - SSH Protocol Version 1 Session Key ...

    loong576
  • rman recovery恢复RMAN-03002 RMAN-06053 RMAN-06025解决

    灾备库通过源库的全备archive文件做完全库恢复后,拿到源库的archive日志在灾备库执行recovery恢复时报错:

    loong576
  • centos7等各操作系统实现ntp时钟同步

    ntp server ip为172.27.9.131,操作系统版本为centos 7.6,安装前无ntp服务,/etc目录下也没有相关ntp文件,也没有ntpd...

    loong576
  • rsync简介

    Rsync是一个命令行实用程序,它将文件和文件夹从一个位置同步到另一个位置。可以使用rsync实现的一些工作流程是从开发计算机更新生产主机,或使用cron作业调...

    Aurora47
  • Fedora 10 下rsync的配置和使用

    rsync是一个提供快速增量文件传输的开源工具。其基于GNU General Public License 发布,目前主要有 Wayne Davison (ht...

    大江小浪
  • rsync+sersync数据同步

    Author: Andrew Tridgell, Wayne Davison, and others

    胡齐
  • Linux学习笔记之rsync配置

      Rsync(remote synchronize)是一个远程数据同步工具,可通过LAN/WAN快速同步多台主机间的文件,也可以使用 Rsync 同步本地硬盘...

    Jetpropelledsnake21
  • rsync配置守护进程进行同步

    rsync的配置文件是/etc/rsyncd.conf。注意这个文件默认是不存在的,需要手动创建。

    fanspring
  • 001.Rsync简介及使用

    Rsync是Linux系统中的数据镜像备份工具,通过rsync可以将本地系统数据通过网络备份到任何远程主机上。rysnc不仅仅能对不同位置的文件和目录进行同步,...

    木二
  • rsync配置

    rsync error: error starting client-server protocol (code 5) at main.c(1648) send...

    陈雷雷

扫码关注云+社区

领取腾讯云代金券