本文详细介绍rsync服务的安装配置以及如何利用rsync保持Linux服务器间的文件同步。
服务器之间常常要保持些文件或目录的一致,比如一些大的软件下载网站,它们通常使用多台服务器来提供下载服务。当一台服务器上的文件更新后,其它的服务器也需要更新,而且 在更新的时候应该是只对新增或是修改过的文件进行更新,否则会造成网络带宽和时间的浪费。rsync就是能有效的保持文件及目录的一致的优秀软件。
rsync,remote synchronize
顾名思意就知道它是一款实现远程同步功能的软件,它在同步文件的同时,可以保持原来文件的权限、时间、软硬链接等附加信息,而且可以通过ssh方式来传输文件,这样其保密性也非常好,另外它还是免费的软件。rysnc的官方网站:http://rsync.samba.org/,可以从上面得到最新的版本。当然,因为rsync是一款如此有用的软件,所以很多Linux的发行版本都将它收录在内了。你的Linux里并没有安装rsync,你可以按以下的安法自行安装:
一、安装过程
1.下载rsync
目前(2003年9月)最新的rsync版本是2.5.6,从rysnc的官方网站上下载一个回来:
# wget http://ftp.samba.org/ftp/rsync/rsync-2.5.6.tar.gz
2.解压 ......
在移动硬盘与硬盘之间、本地与网络(FTP,SSH等)之间备份数据、同步文件夹的需求对于Linux用户是很常见的。在Windows中,有Total Commander等工具同步文件夹的功能很强大,那么Linux中有哪些同步文件夹的软件呢?
rsync和grsync
grsync的截图
rsync是Linux中重要的文件同步工具,支持本地和远程的文件同步工具,而grsync则是它的图形界面。
grsync界面比较简单,但可以完成基本的同步任务。还有一些rsync的强大功能没有在grsync中体现出来,如果需要这些功能,就需要看一下rsync的man文档了。
unison
unison-gtk的截图
unison是一个既可以用于Windows,也可以用于Linux的开源文件夹同步工具,也支持本地和远程的文件同步。(网站: http://www.cis.upenn.edu/~bcpierce/unison/)
注意:
如果要用unison通过ssh和远程的电脑同步,远程的电脑也要安装unison。
unison-gtk是unison的一个图形前端,功能比较多,只是目前还没有被汉化。
-------------------------------
rsync有点像scp,只是更强大。只有在出现不同的情况下,rsync才会调用copy命令。
unison首次启动需要搜索文件,所以耗时较长。
图形界面非常简单、实用 ......
Linux根目录”/“下各个系统文件夹的含义和用途
/boot 该目录默认下存放的是Linux的启动文件和内核。
/initrd 它的英文含义是boot loader initialized RAM disk,就是由boot loader初始化的内存盘。在linux内核启动前,boot loader会将存储介质(一般是硬盘)中的initrd文件加载到内存,内核启动时会在访问真正的根文件系统前先访问该内存中的initrd文件系统。
/bin 该目录中存放Linux的常用命令。
/sbin 该目录用来存放系统管理员使用的管理程序。
/var 该目录存放那些经常被修改的文件,包括各种日志、数据文件。
/etc 该目录存放系统管理时要用到的各种配置文件和子目录,例如网络配置文件、文件系统、X系统配置文件、设备配置信息、设置用户信息等。保存了LINUX的系统设置信息,在修改下面的文件的时候最好先把你修改的文件做个备份.
/etc 目录包含很多文件。下面说明其中的一些。其他的你应该知道它们属于哪个程序,并阅读该程序的man页。许多网络配置文件也在/etc 中,它们在《网络管理指南》中说明。
/etc/rc or /etc/rc.d or /etc/rc?.d
启动、或改变运行级时运行的scripts或scripts的目录,更详细的信息见关于init 的章。
/etc/pass ......
也许只是我一个人比较笨,每次碰到bug,虽然有人给出补丁(patch),但是却不知道怎么使用。Manual Page ( man patch
)也只给出 patch -p(num)
<patchfile这样的用法,具体也不知道怎样确定num,如果你也有这样的疑惑,请继续阅读:
建立patch文件:
diff -Naur olddir newdir > new-patch
- or -
diff -Naur oldfile newfile >new-patch
-p0 还是-p1? patch 命令的目录层次:
-p选项可以选择性地截断patchfile的目录层次。例:如果你的patchfile的头象下面这样:
--- old/modules/pcitable Mon Sep 27 11:03:56 1999
+++ new/modules/pcitable Tue Dec 19 20:05:41 2000
使用 -p0 将从你的当前路径下寻找一个“new"的子文件夹,然后在"new"下面寻找“modules”,然后在其下面寻找"pcitable"。
使用 -p1 将截断第一层目录,也就是说patch将直接在当前路径下寻找"modules",然后是"pcitable"
依次类推。
实际上的确很简单。 ......
一:安装tftp
安装tftp先要安装xinetd,我安装的是xinetd-2.3.14-11.i386.rpm,用rpm即可快速安装,接下来安装tftp-server,由于s3c2410中的uboot上已经实现了tftp-client,故只需下载tftp-server软件包,我下载的是tftp-server-0.42-4.i386.rpm,也直接用rpm安装就行了。安装好后,就要配置/etc/xinetd.d/tftp文件了
service tftp
{
socket_type = dgram
protocol = udp
wait = yes
user = root
server = /usr/sbin/in.tftpd
server_args = -s /tftp/tftpboot // tftp/tftpboot 可自己随便定义,不过不要写成/*****的形式
disable = no //这里把yes改成no
per_source = 11
cps = 100 2
flags = IPv4
}
最后启动tftp服务:service xinet restart
碰到的问题:在uboot下使用命令tftp 0x31000000 zImage.img时,然后一直出现TTTT,下载不了。当时我的server_args是设成/tftpboot,令我不解的是把server_args设成/tftp/tftpboot居然可以下载了,到现在还搞不懂是啥原因,先暂时这样写着,搞懂了再来改。
2. 安装nfs
FS的安装是非常简单的,只需要两个软件包即可,而且在通常情况下,是作为系统的默认包安装的,在配置使用NFS之前需要先查询所需的软件包是 ......
TFTP (普通文件传输协议或一般文件传输协议) 大家一定记得在2003年8月12日全球爆发冲击波(Worm.Blaster)病毒,这种病毒会监听端口69,模拟出一个TFTP服务器,并启动一个攻击传播线程,不断地随机生成攻击地址,进行入侵。另外tftp被认为是一种不安全的协议而将其关闭,同时也是防火墙打击的对象,这也是有道理的。不过 tftp还是有用武之地的,下面讲的文件传输和备份router配置文件都时实际应用,它也只时一种手段而已。
一、用TFTP实现文件传输
环境:服务器A :rhas11
客户机B: rhas101
首先用rpm –qa | grep tftp看一下tftp有没安装,没有的话安 装一下。
A:在服务器端设置
#vi /etc/xinetd.d/tftp
service tftp
{
disable = no
socket_type = dgram
protocol = udp
wait = yes
user = root
server = /usr/sbin/in.tftpd
server_args = -s /test
per_source = 11
cps = 100 2
flags = IPv4
}
或用chkconfig tftp on 也可以打开xinetd代理的tftp服
#mkdir /test
#service xinetd restart 从启xinetd服务,因为TFTP服务受控与xinetd, xinetd是管服务的服务,它是不开端口的。
验证一下TFTP是否起来了:
[root@rhas11 ......