服务器间文件传输方法
一、windows间互传
当我们想要对业务数据进行传输时,需要借助第三方工具或者系统自带的服务进行数据传输,以下介绍三种常见数据传输方法
1、通过windows自带的系统映射服务拷贝数据到目标服务器;端口3389
步骤一:快捷键方法打开窗口,输入mstsc命令
步骤二:输入目标服务器的ip:3389与账户、密码进行连接
步骤三:在本机选择需要映射的磁盘,点击确定,进行磁盘映射
步骤四:复制本机磁盘内的目标文件,进入目标服务器的磁盘里,选择粘贴按钮。
2、通过安装sshd服务,利用scp命令传输数据,端口22
步骤一:下载安装包至c盘的Program Files目录下,并解压安装包,安装sshd服务
https://pan.baidu.com/s/19V2W_e1Agl4GSouW6U3JAQ 提取码: xgjp
通过cmd打开命令行窗口,进入到openssh路径下 powershell.exe -ExecutionPolicy Bypass -File install-sshd.ps1 netsh advfirewall firewall add rule name=sshd dir=in action=allow protocol=TCP localport=22
sc config sshd start= auto #注意auto前面有空格 Set-Service sshd -StartupType Automatic #针对windows server 2016及以上的系统
步骤二:启动sshd服务,检查22端口监听情况
net start sshd ssh-agent #针对server 2008系统 Start-Service sshd ssh-agent #针对windows server 2016及以上的系统 netstat -ano|findstr LISTEN
步骤三:通过scp命令传输目录
scp -r d:\data2022 administrator@192.168.1.52:d:\datas
3、通过rsyncd工具进行数据传输,端口873
步骤一:搭建rsyncd服务,分为服务端和客户端
服务端安装cwRsyncsever4.1.0软件:会⾃动在系统内创建⼀个系统⽤户,⽤户名为:SvcCWRSYNC ,密码为:uuihMoBFH69391
修改配置⽂件:rsyncd.conf
use chroot = false strict modes = false hosts allow = * log file = rsyncd.log uid = 0 #不指定uid,不加该选项无法使用任何账户 gid = 0 #不指定gid # Module definitions # Remember cygwin naming conventions : c:\work becomes /cygwin/c/work # [test] path = /cygdrive/d #需要迁移d盘数据 read only = false transfer logging = yes auth users = rsync secrets file = /cygdrive/f/dtstack-rsync/rsync.password
创建存放校验⽤户名密码的⽂件:
rsync:R1sync123! #格式为用户名:密码
步骤二:启动服务
步骤三:下载并安装客户端软件
在客户端磁盘中创建⼀个 rsync.password ⽂件,⽂件中需要写⼊服务端同步⽤户密码,如下:
R1sync123!
步骤三:在客户端启动如下同步命令,进行数据传输
这⾥注意,--password-file 指定的路径中不能有空格,不然会造成命令解析错误的
.\rsync.exe --iconv=UTF-8,GBK --port=873 -vzrtopg --progress \ --password-file=/cygdrive/c/rsync-password/rsync.password [rsync@172.16.80.172](mailto:rsync@172.16.80.172)::test rsync:就是对应在服务端配置文件中指定的身份验证的用户名。 test:就是在服务端配置文件中指定的模块名称。 /cygdrive/d:指定将服务端文件同步到客户端的目录,这里是直接将服务端的d盘同步到客户端所在服务器的d盘。 --password-file 指明客户端的身份验证密码文件,跟服务端的那个密码文件是对应的。
二、linux间互传
1、通过scp命令传输数据,端口22
scp -r 源文件 root@ip:目标路径
2、通过rsync工具
yum install -y rsync rsync -av ./file_name name@ip:/path/to/dir