SCP
scp [本地文件] 用户名@远程ip地址:[远程服务器目录]
#上传本地文件到远程服务器的指定目录
#示例:
scp index.php root@101.200.234.7:/root/1000
-P 22 指定端口
scp -P 22 -r index.php root@101.200.234.7:/root/1000
FTP(File Transfer Protocol)文件传输协议
用户通过一个支持FTP协议的客户机程序,连接到在远程主机上的FTP服务器程序。用户通过客户机程序向服务器程序发出命令,服务器程序执行用户所发出的命令,并将执行的结果返回到客户机。
TCP/IP协议中,FTP标准命令TCP端口号为21,Port方式数据端口为20。
FTP支持两种模式:Standard (PORT方式,主动方式),Passive (PASV,被动方式)。
SFTP(Secure File Transfer Protocol)安全文件传输协议
SFTP是SSH的一部分,SFTP
本身没有单独的守护进程,必须使用sshd守护进程,默认端口号是22。
由于这种传输方式使用了加密/解密技术,所以传输效率比普通的FTP要低得多,如果您对网络安全性要求更高时,可以使用SFTP代替FTP。
sftp [用户名]@[远程IP地址]
#可使用--help寻求帮助
rsync(重要)
Rsync(Remote Sync)是一款通过网络 备份重要数据 的工具/软件。它同样是一个在类Unix和Window系统上通过网络在系统间同步文件夹和文件的网络协议。Rsync可以复制或者显示目录并复制文件。Rsync默认监听TCP 873 端口,通过远程shell如rsh和ssh复制文件。
rsh:“remote shell”(远程 shell)的缩写,该命令在指定的远程主机上启动一个shell并执行用户在rsh命令行中指定的命令;如果用户没有给出要执行的命令,rsh就用rlogin命令使用户登录到远程机上。
yum install -y rsync #使用前,先进行安装
本地服务器使用
相关参数
-a 归档模式,表示以递归方式传输文件,并保持所有属性,等同于-rlptgoD, -a选项后面可以跟一个 --no-OPTION 这个表示关闭-rlptgoD中的某一个例如 -a--no-l 等同于-rptgoD
-r 对子目录以递归模式处理,主要是针对目录来说的,如果单独传一个文件不需要加-r,但是传输的是目录必须加-r选项
-v 打印一些信息出来,比如速率,文件数量等
-l 保留软链结
-L 向对待常规文件一样处理软链结,如果是SRC中有软连接文件,则加上该选项后将会把软连接指向的目标文件拷贝到DST
-p 保持文件权限
-o 保持文件属主信息
-g 保持文件属组信息
-D 保持设备文件信息
-t 保持文件时间信息
--delete 删除那些DST中SRC没有的文件
--exclude=PATTERN 指定排除不需要传输的文件,等号后面跟文件名,可以是万用字符模式(如*.txt)
--progress 在同步的过程中可以看到同步的过程状态,比如统计要同步的文件数量、同步的文件传输速度等等
-u 加上这个选项后将会把DST中比SRC还新的文件排除掉,不会覆盖
常用的有 -a -v —delete —exclude
rsync -av [源地址] [目标地址]
搭建一个rsync服务器的方式进行传输
主机1 主机2 (服务端)
主机1里 创建一个 配置密码 的文件
主机2里 vim /etc/rsyncd.conf
添加rsync实例模式配置文件
主机2里,添加一个模块配置
主机2,给tutu设置密码文件
服务器上都设置好之后,启动实例
查看rsync实例是否启动成功
服务器上实例启动之后
在主机1上也创建密码文件
修改密码文件权限为600
在主机1上传递文件到服务器上
在主机2上,修改要上传文件目录的权限
在主机1上再次进行尝试
在主机2上查看是否成功传过来文件了
每次传输的时候都这么麻烦,有没有简单的方法呢?
也是有的。
脚本咯。
意思就是在主机1中添加一个rsync.sh的配置文件,内容就是我们执行rsync的那句代码,以后只要手动执行
一下这个脚本文件即可。
有其他内容也可以进行补充
使用的时候执行 一下即可