编程开源技术交流,分享技术与知识

网站首页 > 开源技术 正文

使用shell脚本下载sftp文件(shell脚本上传文件到ftp服务器)

wxchong 2024-07-09 23:41:49 开源技术 33 ℃ 0 评论

功能:shell脚本实现sftp自动登录并下载文件

系统环境:centos7

使用到的工具:lftp (安装方式 yum -y install lftp)

lftp:lftp 是一个功能强大的下载工具,它支持访问文件的协议: ftp, ftps, http, https, hftp, fish.(其中ftps和https需要在编译的时候包含openssl库)。llftp的界面非常想一个shell: 有命令补全,历史记录,允许多个后台任务执行等功能,使用起来非常方便。它还有书签、排队、镜像、断点续传、多进程下载等功能。

实现代码

#!/bin/bash

#sftp服务器地址
host="192.168.149.128"
#端口
port=22
sftp_user="sftp"
#密码
password="123456"

#下载到本地的目录
localDir="/tmp"
[ ! -d $localDir ] && mkdir -p $localDir
#sftp中待下载文件目录
remoteDir="/"

#要下载的文件为fileName
fileName="jdk.zip"
lftp -u ${sftp_user},${password} sftp://${host}:${port}<<EOF
cd ${remoteDir}
lcd ${localDir}
get $fileName
by
EOF

注意:以上代码只是实现了针对指定路径中的指定文件的下载,如果是想实现对sftp中指定目录下所有文件及子目录中的文件进行遍历下载,暂时没找到 shell 的实现方法(通过python可以,具体可参见我的另一篇文章:利用python实现自动下载sftp文件

Tags:

本文暂时没有评论,来添加一个吧(●'◡'●)

欢迎 发表评论:

最近发表
标签列表