常用的上传工具有:SCP、SFTP、RSYNC,RSYNC有断点续传的功能
一、scp传输文件
1、从服务器下载文件
scp username@servername:/path/filename /tmp/local_destination
例如:scp codinglog@192.168.0.101:/home/kimi/test.txt
把192.168.0.101上的/home/kimi/test.txt 的文件下载到 /tmp/local_destination
2、上传本地文件到服务器
scp /path/local_filename username@servername:/path
例如:scp /var/www/test.php codinglog@192.168.0.101:/var/www/
把本机/var/www/目录下的test.php文件上传到192.168.0.101这台服务器上的/var/www/目录中
3、从服务器下载整个目录
scp -r username@servername:remote_dir/ /tmp/local_dir
例如:scp -r codinglog@192.168.0.101 /home/kimi/test /tmp/local_dir
4、上传目录到服务器
scp -r /tmp/local_dir username@servername:remote_dir
例如: scp -r test codinglog@192.168.0.101:/var/www/
把当前目录下的test目录上传到服务器 的/var/www/ 目录
二、sftp传输文件
1、常用登录方式
格式:sftp <user>@<host>
通过sftp连接<host>,端口为默认的22,指定用户<user>。
2、基本使用
(1)、文件下载
get [-Ppr] remote [local]
如:get test.cpp ./Project/
将远程当前目录下的文件test.cpp下载到本地当前目录的Project文件夹中。
(2)、文件上传
put [-Ppr] local [remote]
如:put /home/liu/Software/RHEL_5.5\ x86_64.iso /home/xudong/Blog/
将本地/home/liu/Software/目录下的ios文件传送到远程登陆主机的/home/xudong/Blog/目录下。
三、rsync传输文件
服务端:192.168.1.2 同步目录:/home/source
客户端:192.168.1.3 同步目录:/home/receive
1、服务端配置
shell>vi /etc/rsyncd.conf #创建配置文件rsyncd.conf
shell>vi etc/rsyncd.secrets #创建密码文件
shell>chmod 0600 /etc/rsyncd.secrets #更改密码文件权限
shell>rsync --daemon; #启动服务,默认在873端口监听(可以自己修改)
2、客户端
shell>vi /etc/rsyncd.secrets #这里也是创建密码文件,文件名字自定义,但内容只需要填目标服务授权密码
shell>chmod 0600 /etc/rsyncd.secrets #更改文件权限
shell>rsync -vzrtopg --delete --progress --password-file=/etc/rsyncd.secrets rsync@192.168.1.2::backup /home/receive
v:传输时的进度等信息, z:表示压缩, r:是递归, t:保持文件原有时间, o:保持文件原有属主, P:传输进度, g:保持文件原有用户组
--progress 指显示
--delete 指如果服务器端删除了这一文件,那么客户端也相应把文件删除,保持真正的一致
--password-file=/etc/rsyncd.secrets 认证密码
rsync 认证用户
backup 认证模块
如果客户端/home/receive/下产生了test文件代表同步成功
下一步写一个脚本文件实现真正的同步......
启动脚本:rsync.sh
shell>vi /home/rsync.sh