台式电脑

怎么样两台电脑互传数据库(服务器之间如何传输数据:rsync)

有时候需要将一台服务器内的数据传输到另外一台设备,有很多种方法,如果两台物理机离得很近,可以通过移动硬盘传输。如果是跨地区的,有人首先通过filezilla将数据下载到windows电脑上,在通过filezilla上传到另外一台服务器,这样做都可以,不过这显然不符合我们一贯追求效率的原则,如果在是在服务器设备间传输数据,其实是可以直接传输的,比较好用的是scp与rsync命令。

准备工作

在两台服务器设备间传输数据,首先保证两台设备都是联网的,至少有一台能连外网,知道两台设备的IP地址,这里注意,如果是192.168.1.XXX,这是内网IP,只能通过这台设备上传和下载。另外就是两台服务器的账号密码。这样就可以了。

假设一台设备IP为:123.tongyuangene.com

另一台设备IP为:1t.tongyuangene.com

要传输文件为/ifs1/Database/nt_makeblastdb/nt这个文件。

rsync命令

rsync是类unix系统下的数据镜像备份工具。一款快速增量备份工具RemoteSync,远程同步支持本地复制,或者与其他SSH、rsync主机同步。这样rsync通过比较两个文件之间的差异,将本地文件同步到最新的版本,这样就省去重新下载的麻烦。但是需要注意的是必须在服务器A和B上都安装rsync,其中A服务器上是以服务器模式运行rsync,而B上则以客户端方式运行rsync。这样在web服务器A上运行rsync守护进程,在B上定时运行客户程序来备份web服务器A上需要备份的内容。rsync既可以实现本地之间的数据同步,也可以同步远程服务器。

rysnc有多种工作模式,使用起来稍微有些复杂,因为它并不是像scp单纯的传输数据,还包括同步数据的功能,这里我们使用最间的两种方法,第一种是利用ssh进行同步。只需要加上-essh选项即可,写法与scp类似。

怎么样两台电脑互传数据库(服务器之间如何传输数据:rsync)

rsync-avz-essh/ifs1/Database/nt_makeblastdb/ntwangtong@1t.tongyuangene.com:/home/wangtong

第二种比较简单,就是在文件路径前面加上一个rsync。

rsync://用户名@服务器IP/共享名

这里我们同步一下已经下载的swissprot数据库。首先登录NCBI,找到swissprot数据库的地址。我们找到swissprot。将这个路径复制下来。然后就可以利用rsync进行同步了。如果本地没有这文件,那么同步就是下载下来。如果存在,软件就会比较两个文件。然后将缺少的部分下载下来。

rsync-avzPrsync://ftp.ncbi.nlm.nih.gov:/blast/db/FASTA/swissprot.gzswissprot.gz

同样的方法,可以同步nr库与nt库。通过更多设置,rsync能实现定时或间隔同步,配合inotify或sersync工具,可以实现触发式的实时同步。一旦远程数据库更新了,本地将自动进行更新。

rsync选项参数

下面我们来介绍一下rsync的使用。rsync是一款非常复杂的工具,有非常多的功能,因此选项参数也非常多,不过只需要了解一些比较重要的即可。

-a,--archive归档模式,表示以递归方式传输文件,并保持所有文件属性。

-v,--verbose详细模式输出。

-z,--compress对备份的文件在传输时进行压缩处理。

-p,--perms保持文件权限。

-e,--rsh=command指定使用rsh、ssh方式进行数据同步。

-q,--quiet精简输出模式。

-c,--checksum打开校验开关,强制对文件传输进行校验。

-r,--recursive对子目录以递归模式处理。

-R,--relative使用相对路径信息。

-b,--backup创建备份,也就是对于目的已经存在有同样的文件名时,将老的文件重新命名为~filename。

-u,--update仅仅进行更新,也就是跳过所有已经存在于DST,并且文件时间晚于要备份的文件,不覆盖更新的文件。

-l,--links保留软链结。

-H,--hard-links保留硬链结。

-o,--owner保持文件属主信息。

-g,--group保持文件属组信息。

-D,--devices保持设备文件信息。

-t,--times保持文件时间信息。

-n,--dry-run现实哪些文件将被传输。

-w,--whole-file拷贝文件,不进行增量检测。

-x,--one-file-system不要跨越文件系统边界。

--rsync-path=PATH指定远程服务器上的rsync命令所在路径信息。

-h,--help显示帮助信息。

相关新闻

返回顶部