sftp shell 批量上传文件_通过 shell 脚本上传整个目录到 FTP 或 SFTP 服务器

近日,遇到一个问题,需要将一些数据上传到 web 服务器。由于防篡改的原因,只允许使用 FTP 或 SFTP 上传。允许上传的客户端却是 linux 服务器,上传的数据又不是单一文件。同时,由于防篡改,不可能将数据打包上传,然后再解包。因此,我写了以下两个脚本,分别针对 FTP 和 SFTP 上传目录的情况。

上传数据到 SFTP 服务器的脚本如下:

#!/bin/bash

# 作者:靑龍一笑(C.S.Ricen)

# 功能:上传数据到 SFTP 服务器

# SFTP 配置信息

# SFTP 帐号

USER=ricen

# SFTP 密码

PASSWD=p7954tF

# 要上传文件的根目录

SRC=/opt/

# SFTP 目录

DESC=/data/websites/

# IP

HOST=172.17.0.5

# 端口

PORT=22

echo -e -n "请输入要上传的目录:"

read UPLOAD

SRC_DIR=${SRC}$UPLOAD

DESC_DIR=${DESC}$UPLOAD

# 上传文件

lftp -u ${USER},${PASSWD} sftp://${HOST}:${PORT} <

mirror -R ${SRC_DIR} ${DESC_DIR}

by

EOF

echo "数据上传完毕!"

exit 0

上传数据到 FTP 服务器的脚本如下:

#!/bin/bash

# 作者:靑龍一笑(C.S.Ricen)

# 功能:上传数据到 FTP 服务器

# FTP 配置信息

# FTP 帐号

USER=ricen

# FTP 密码

PASSWD=p7954tF

# 要上传文件的根目录

SRC=/opt/

# FTP 目录

DESC=/

# IP

HOST=172.17.0.5

# 端口

PORT=21

echo -e -n "请输入要上传的目录:"

read UPLOAD

SRC_DIR=${SRC}$UPLOAD

DESC_DIR=${DESC}$UPLOAD

# 上传文件

lftp -u ${USER},${PASSWD} ftp://${HOST}:${PORT} <

mirror -R ${SRC_DIR} ${DESC_DIR}

by

EOF

echo "数据上传完毕!"

exit 0

这里以 FTP 为例,演示效果如下:

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值