zl程序教程

您现在的位置是:首页 >  后端

当前栏目

FTP上传多层目录实现——筑梦之路

上传ftp 实现 目录 筑梦之路 多层
2023-09-14 09:09:36 时间
ftp的put  mput并不支持上传多层级目录
shell脚本实现

#!/bin/bash 
#ftp上传整个目录


#upload dir to remote ftp server
read -p "Input local dir: " updir     #local dir
read -p "Input remote dir: " todir    #remote dir
read -p "Input remote IP: " ip        #remote IP
read -p "Input ftp username: " user    #ftp username
read -p "Input password: " password    #password
sss=`find $updir -type d -printf $todir/'%P\n'| awk '{if ($0 == "")next;print "mkdir " $0}'` 
aaa=`find $updir -type f -printf 'put %p %P \n'` 
ftp -nv $ip <<EOF 
user $user $password
type binary 
prompt 
$sss 
cd $todir 
$aaa 
quit 
EOF

来自通过FTP方式上传文件夹(整个目录)_奔跑的小牛-CSDN博客_ftp 上传文件夹

下载:

wget -nH -m --ftp-user=your_username --ftp-password=your_password ftp://your_ftp_host/*
解释:
-nH:不创建以主机名命名的目录。
–cut-dirs:希望去掉原来的目录层数,从根目录开始计算。如果想完全保留FTP原有的目录结构,则不要加该参数。
-m:下载所有子目录并且保留目录结构。
–ftp-user:FTP用户名
–ftp-password:FTP密码
ftp://.../*:FTP主机地址。最后可以跟目录名来下载指定目录。

例子:wget -nH -m --ftp-user=tom --ftp-password=123456 ftp://192.168.19.1/tom/