shell 脚本 sftp文件传输
时间: 2023-08-31 22:12:51 浏览: 226
回答:
以下是一个示例的shell脚本,用于实现sftp文件传输:
```bash
#!/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="data.log"
lftp -u ${sftp_user},${password} sftp://${host}:${port}<<EOF
cd ${remoteDir}
lcd ${localDir}
get $fileName
by
EOF
```
这个脚本使用lftp命令来实现sftp文件传输。首先,设置sftp服务器的地址、端口、用户名和密码。然后,指定要下载的文件的路径和本地目录。最后,使用lftp命令连接到sftp服务器,并执行cd命令切换到远程目录,lcd命令切换到本地目录,get命令下载指定的文件。\[1\]
如果你想实现文件上传,可以使用以下示例脚本:
```bash
#!/bin/bash
#SFTP配置信息
#用户名
USER=jijian
#密码
PASSWORD=jj
#待上传文件根目录
SRCDIR=/home/databackup
#SFTP目录
DESDIR=/home/jijian
#IP
IP=10.2.5.142
#端口
PORT=22
#获取文件
cd ${SRCDIR}
#目录下的所有文件
#FILES=`ls`
#查找后缀为txt的文件
FILES=`find ${SRCDIR} -name '*.txt'`
for FILE in ${FILES}
do
echo ${FILE}
#发送文件 (关键部分)
#复制出来,如有结尾有空格,请自行去掉
lftp -u ${USER},${PASSWORD} sftp://${IP}:${PORT}<<EOF
cd ${DESDIR}/
lcd ${SRCDIR}
put ${FILE}
by
EOF
done
```
这个脚本使用lftp命令来实现sftp文件上传。首先,设置sftp服务器的地址、端口、用户名和密码。然后,指定要上传的文件的根目录和sftp目录。接下来,使用cd命令切换到待上传文件的根目录,获取所有文件的列表。最后,使用lftp命令连接到sftp服务器,并执行cd命令切换到sftp目录,lcd命令切换到待上传文件的根目录,put命令上传指定的文件。\[2\]
如果你想实现sftp文件同步,可以使用以下示例脚本:
```bash
#!/bin/bash
#sftp服务器地址
host="192.168.149.128"
#端口
port=22
sftp_user="sftp"
#密码
password="123456"
#下载到本地的目录
localDir="/data/logs/sftp_logs"
\[ ! -d $localDir \] && mkdir -p $localDir
#sftp中待下载的文件目录
remoteDir1="/oslog"
remoteDir2="/data"
lftp -u ${sftp_user},${password} sftp://${host}:${port}<<EOF
cd /
lcd ${localDir}
mirror ${remoteDir1}
mirror ${remoteDir2}
by
EOF
```
这个脚本使用lftp命令来实现sftp文件同步。首先,设置sftp服务器的地址、端口、用户名和密码。然后,指定要下载到本地的目录和sftp中待下载的文件目录。接下来,使用lftp命令连接到sftp服务器,并执行cd命令切换到根目录,lcd命令切换到本地目录,mirror命令同步指定的远程目录到本地目录。\[3\]
#### 引用[.reference_title]
- *1* *3* [使用shell脚本下载sftp文件](https://blog.csdn.net/d1240673769/article/details/106307421)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item]
- *2* [linux下用shell脚本实现sftp文件上传](https://blog.csdn.net/weixin_42952472/article/details/123378125)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item]
[ .reference_list ]
阅读全文