Shell自动上传下载文件到SFTP服务器 | 您所在的位置:网站首页 › shell下载ftp文件 › Shell自动上传下载文件到SFTP服务器 |
1.说明
本文提供一个Shell脚本,可以自动连接到SFTP服务器,然后上传或者下载指定的文件,进而可以使用Linux的corntab命令,定时执行脚本上传下载文件,实现文件的同步或者备份功能。 2.FTP和SFTP的区别一般使用FTP来上传下载文件,但是Linux的默认是不提供FTP的,需要额外安装FTP服务器,而且会占用一定的VPS服务器资源。这里建议使用SFTP代替FTP,可以不用额外安装任何服务器端程序,使用只有SSH的Linux服务器的时候,开启SSH默认就开启了SFTP,不需要单独配置就可以使用。SFTP加密传输认证信息和数据,相对来说会更安全。 3.安装lftp在脚本中需要使用lftp命令来连接SFTP服务器,如果没有需要使用root用户安装,yum安装命令如下: yum install lftp -y自动上传下载文件的关键是自动输入用户名密码,但使用ssh的工具scp、sftp和ssh不能自动输入密码,所以这里使用lftp实现。 4.上传脚本上传脚本uploadFile.sh内容如下: #!/bin/bash # SFTP配置信息 # IP IP=10.21.19.84 # 端口 PORT=22 # 用户名 USER=yuwen # 密码 PASSWORD=ai123456 # 需要上传的文件名 FILE=test.txt # 需要上传的文件所在目录 CLIENTDIR=/home/yuwen/sftp/upload # 上传到目标服务器的目录 SEVERDIR=/home/yuwen/sftp/download lftp -u ${USER},${PASSWORD} sftp://${IP}:${PORT} |
CopyRight 2018-2019 实验室设备网 版权所有 |