常用Ftp使用工具

#! /bin/bash
###################################
####### 单文件下载
function getFile(){
# 目标服务器IP
HOST=$1
# 用户名
USER=$2
# 密码
PASSWORD=$3
# 目标目录
DESC_DIR=$4
# 本地目录
LOCAL_DIR=$5
# 需要拉去的文件
DESC_FILE=$6
ftp -n << !
open $HOST
user $USER $PASSWORD
binary
cd $DESC_DIR
lcd $LOCAL_DIR
get $DESC_FILE
close   
bye
!
}


###################################
####### 下载FTP目录下所有文件到本地
function getdir(){
HOST=$1
USER=$2
PASSWORD=$3
# 目标目录
DESC_DIR=$4
# 本地目录
LOCAL_DIR=$5
files=`listFile $HOST $USER $PASSWORD $DESC_DIR`
for file in $files
do
        getFile $HOST $USER $PASSWORD $DESC_DIR $LOCAL_DIR $file
done
}


###################################
####### 单文件上传
function putFile(){
# 目标服务器IP
HOST=$1
# 用户名
USER=$2
# 密码
PASSWORD=$3
# 本地目录
local_dir=$4
# 目标服务器目录
desc_dir=$5
# 目标文件
filename=$6
ftp -n << !
open $HOST
user $USER $PASSWORD
binary
mkdir $desc_dir
cd $desc_dir
lcd $local_dir
put $filename
close   
bye
!
}


###################################
####### 上传目录下所有文件到FTP
function putdir(){
# 目标服务器IP
HOST=$1
# 用户名
USER=$2
# 密码
PASSWORD=$3
# 本地目录
local_dir=$4
# 目标服务器目录
desc_dir=$5

files=`ls $local_dir`
for file in $files
do
        putFile $HOST $USER $PASSWORD $local_dir $desc_dir $file
done
}


###################################
####### 输出Ftp目录下文件名
function listFile(){
# 目标服务器IP
HOST=$1
# 用户名
USER=$2
# 密码
PASSWORD=$3
# 目标目录
DESC_DIR=$4
ftp -n << !
open $HOST
user $USER $PASSWORD
binary
cd $DESC_DIR
nlist
close   
bye
!
}


你可能感兴趣的:(常用Ftp使用工具)