이 글에서는 클라우드 서버 ECS 간의 데이터 전송 구현 방법을 소개하고, 구체적인 단계에 중점을 두고 있습니다. 이 글의 내용은 매우 간략하므로 인내심을 가지고 공부하시기 바랍니다.
클라우드 서버 ECS 간 데이터 전송 구현 방법
소개
오늘날의 급속한 정보화 발전 속에서 서버는 매일 다른 독립형 머신과 대용량의 파일 데이터를 교환하며, 파일 전송은 누구에게나 흔한 일입니다. . 그러므로 그 중요성은 자명합니다. 다양한 파일 전송 방법이 있습니다. 자신에게 맞는 파일 전송 도구를 선택하면 절반의 노력으로 두 배의 결과를 얻을 수 있습니다. 리소스 절약, 전송 촉진, 업무 효율성 향상, 보호 암호화 등 따라서 NC, FTP, SCP, NFS, SAMBA, RSYNC/SERVERSYNC 등과 같은 많은 파일 전송 도구가 등장했습니다. 각 방법에는 고유한 특성이 있습니다. 이 기사에서는 먼저 파일 전송의 기본 원리를 간략하게 소개한 다음 Unix/Linux 및 Windows 플랫폼에서 일반적으로 사용되는 파일 전송 방법을 자세히 소개하고 각각의 특성을 비교하여 독자가 파일 전송에 대해 더 자세히 이해할 수 있도록 하겠습니다. 이를 통해 다양한 요구에 따라 적절한 파일 전송 방법을 선택할 수 있습니다.
파일 전송의 원리
파일 전송은 정보 전송의 한 형태이며, 데이터 소스와 데이터 싱크 간에 파일 데이터를 전송하는 프로세스로, 파일 데이터 통신이라고도 합니다. 운영 체제는 임시 저장을 위해 파일 데이터를 메모리로 추출한 다음 파일에 셸을 추가하는 것을 의미합니다. 암호를 해독할 필요는 없으며 열기만 하면 됩니다. 패키지를 압축할 때만 암호 해독이 필요합니다. 전체 데이터로서 대용량 파일은 한 호스트에서 다른 호스트로 순간적으로 전송될 수 없습니다. 전송은 연속적인 프로세스이지만 파일이 분할되지 않습니다. 따라서 전송이 예기치 않게 중단되면 대상 경로가 없습니다. 또한, 여러 개의 파일을 전송할 경우 해당 파일은 순서대로 전송되며, 중간에 전송이 중단되면 이전에 전송된 파일은 전송되지 않습니다. 성공(압축 파일 패키지가 전송되면 그 안에 있는 파일 수에 관계없이 그 자체로 하나의 파일로 간주됩니다.)
일반적으로 우리가 보는 NC, FTP, SCP, NFS 등은 파일 데이터 전송에 사용할 수 있는 도구입니다. 아래에서는 주요 파일 전송 도구의 특징과 사용법을 자세히 소개하겠습니다.
NETCAT
는 네트워크 도구 중 "스위스 군용 칼"로 알려져 있습니다. 네트워크 도구로서 파일 전송 능력은 과소평가될 수 없습니다.
일반적으로 사용되는 매개변수:
간단한 사용 예
1. 포트 스캔 21-24(예: IP192.168.2.34)
nc -v -w 2 192.168.2.34 -z 21-24 nc: connect to 192.168.2.34 port 21 (tcp) failed: Connection refused Connection to 192.168.2.34 22 port [tcp/ssh] succeeded! nc: connect to 192.168.2.34 port 23 (tcp) failed: Connection refused nc: connect to 192.168.2.34 port 24 (tcp) failed: Connection refused
2. 192.168.2.33에서 192.168.2.34로 파일을 복사하세요.
On 192.168.2.34:
nc -l 1234 > test.txt
On 192.168.2.33:
nc 192.168.2.34 < test.txt
3 memcached를 작동하려면 nc 명령을 사용하세요.
데이터 저장:
printf “set key 0 10 6rnresultrn” |nc 192.168.2.34 11211
데이터 가져오기:
printf “get keyrn” |nc 192.168.2.34 11211
데이터 삭제:
printf “delete keyrn” |nc 192.168.2.34 11211
상태 보기:
printf “statsrn” |nc 192.168.2.34 11211
상위 명령 시뮬레이션 상태 보기:
watch “echo stats” |nc 192.168.2.34 11211
캐시 지우기:
printf “flush_allrn” |nc 192.168.2.34 11211 #谨慎操作,清空了缓存就没了
SCP(보안 복사본)
소개
SCP 명령의 사용법은 RCP 명령 형식과 매우 유사합니다. 차이점은 SCP가 더 많은 보안을 제공한다는 것입니다. SCP는 확인이 필요할 때 일반적으로 사용하는 것이 좋습니다. SCP 명령은 RCP보다 안전하기 때문입니다. SCP 명령은 SSH를 사용하여 데이터를 전송하고 SSH와 동일한 인증 모드를 사용하여 동일한 보안을 보장합니다. SSH는 현재 원격 로그인 세션 및 기타 네트워크 서비스에 대한 보안을 제공하는 보다 안정적인 프로토콜입니다. 원격 관리 시 정보 유출 문제를 방지합니다. SCP는 SSH 기반 애플리케이션이므로 데이터 전송을 위한 기기는 SSH 서비스를 지원해야 합니다.
Features
SCP는 RCP와 유사하며 특정 파일 시스템의 파일 속성을 유지할 수 있고 파일 속성을 유지하거나 재귀가 필요한 하위 디렉터리를 복사할 수 있습니다.
SCP는 파일 전송 기밀성이 향상되었습니다. 동시에 파일을 전송할 때 비밀번호를 입력해야 하고 SSH의 일부 구성 문제가 발생하여 특정 요구 사항이 있는 사용자에게 더 적합한 전송 도구입니다.
일반적인 예
使用 SCP 命令,需要输入密码,如果不想每次都输入,可以通过配置 SSH,这样在两台机器间拷贝文件时不需要每次都输入用户名和密码:
生成 RSA 类型的密钥:
上述命令生成 RSA 类型的密钥。在提示密钥的保存路径和密码时,可以直接回车使用默认路径和空密码。这样,生成的公共密钥保存/.ssh/id_rsa.pub,私有密钥保存在 /.ssh/id_rsa 。然后把这个密钥对中的公共密钥的内容复制到要访问的机器上的 /.ssh/authorized_keys 文件中。这样,下次再访问那台机器时,就不用输入密码了。
scp可以在 2个 linux 主机间复制文件
命令基本格式:
scp [可选参数] file_source file_target
从本地复制到远程(如下四种方式):
scp local_file remote_username@remote_ip:remote_folder scp local_file remote_username@remote_ip:remote_file scp local_file remote_ip:remote_folder scp local_file remote_ip:remote_file
注:第1,2个指定了用户名,命令执行后需要再输入密码,第1个仅指定了远程的目录,文件名字不变,第2个指定了文件名。
第3,4个没有指定用户名,命令执行后需要输入用户名和密码,第3个仅指定了远程的目录,文件名字不变,第4个指定了文件名。
从远程复制到本地:
注:从远程复制到本地,只要将从本地复制到远程的命令的后2个参数 调换顺序 即可
scp root@www.cumt.edu.cn:/home/root/others/music /home/space/music/i.mp3 scp -r www.cumt.edu.cn:/home/root/others/ /home/space/music/ Rsync
Rsync是linux/Unix文件同步和传送工具。用于替代rcp的一个工具,rsync可以通过rsh或ssh使用,也能以daemon模式去运行,在以daemon方式运行时rsync server会开一个873端口,等待客户端去连接。连接时rsync server会检查口令是否相符,若通过口令查核,则可以通过进行文件传输,第一次连通完成时,会把整份文件传输一次,以后则就只需进行增量备份。
安装方式:
注:可以使用每个发行版本自带的安装包管理器安装。
sudo apt-get install rsync #在debian、ubuntu 等在线安装方法; slackpkg install rsync #Slackware 软件包在线安装; yum install rsync #Fedora、Redhat 等系统安装方法;
源码编译安装:
wget http://rsync.samba.org/ftp/rsync/src/rsync-3.0.9.tar.gz tar xf rsync-3.0.9.tar.gz cd rsync-3.0.9 ./configure && make && make install
参数介绍:
rsync六种不同的工作模式:
1.拷贝本地文件,将/home/coremail目录下的文件拷贝到/cmbak目录下。
rsync -avSH /home/coremail/ /cmbak/
2.拷贝本地机器的内容到远程机器。
rsync -av /home/coremail/ 192.168.11.12:/home/coremail/
3.拷贝远程机器的内容到本地机器。
rsync -av 192.168.11.11:/home/coremail/ /home/coremail/
4.拷贝远程rsync服务器(daemon形式运行rsync)的文件到本地机。
rsync -av root@172.16.78.192::www /databack
5.拷贝本地机器文件到远程rsync服务器(daemon形式运行rsync)中。当DST路径信息包含”::”分隔符时启动该模式。
rsync -av /databack root@172.16.78.192::www
6.显示远程机的文件列表。这类似于rsync传输,不过只要在命令中省略掉本地机信息即可。
rsync -v rsync://192.168.11.11/data
rsync配置文件说明:
cat/etc/rsyncd.conf #内容如下 port = 873 #端口号 uid = nobody #指定当模块传输文件的守护进程UID gid = nobody #指定当模块传输文件的守护进程GID use chroot = no #使用chroot到文件系统中的目录中 max connections = 10 #最大并发连接数 strict modes = yes #指定是否检查口令文件的权限 pid file = /usr/local/rsyncd/rsyncd.pid #指定PID文件 lock file = /usr/local/rsyncd/rsyncd.lock #指定支持max connection的锁文件,默认为/var/run/rsyncd.lock motd file = /usr/local/rsyncd/rsyncd.motd #定义服务器信息的,自己写 rsyncd.motd 文件内容 log file = /usr/local/rsyncd/rsync.log #rsync 服务器的日志 log format = %t %a %m %f %b syslog facility = local3 timeout = 300 [conf] #自定义模块 path = /usr/local/nginx/conf #用来指定要备份的目录 comment = Nginx conf ignore errors #可以忽略一些IO错误 read only = no #设置no,客户端可以上传文件,yes是只读 write only = no #no为客户端可以下载,yes不能下载 hosts allow = 192.168.2.0/24 #可以连接的IP hosts deny = * #禁止连接的IP list = false #客户请求时,使用模块列表 uid = root gid = root auth users = backup #连接用户名,和linux系统用户名无关系 secrets file = /etc/rsyncd.pass #验证密码文件
위 내용은 클라우드 서버 ECS 간 데이터 전송 구현 방법에 대해의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!