一、shell脚本 通过ftp上传文件
1、功能
上传linux服务器中/tmp/ftp 目录下所有文件,到ftp服务器
2、信息
ftp服务器系统:windows2012
ftp地址:192.168.20.86,用户名和密码都是l*** ftp服务器上的目录:/ftptest
ftp地址:192.168.20.86,用户名和密码都是l*** ftp服务器上的目录:/ftptest
3、脚本截图

4、脚本内容
#!/bin/bash
# 设置ftp服务器地址、用户名和密码
HOST='192.168.20.86'
USER='l***'
PASSWD='l***'
# 本地/tmp/ftp目录
FILE='/tmp/ftp/'
# ftp服务器上的/ftptest目录
FTP_DIR='/ftptest'
# 遍历本地目录下的所有文件,上传到ftp服务器
ftp -n $HOST <<END_SCRIPT
quote USER $USER
quote PASS $PASSWD
cd $FTP_DIR
lcd $FILE
prompt
mput *
quit
END_SCRIPT
exit 0
5、运行截图


二、bash脚本 通过ftp下载文件
1、功能
下载ftp服务器中的所有文件,下载结束后自动删除ftp目录中的文件
2、信息
ftp服务器系统:windows2012
ftp地址:192.168.20.86,用户名和密码都是l***
ftp服务器上的目录:/ftptest
本地linux系统,本地目录/tmp/download
3、脚本截图

4、脚本内容
#!/bin/bash
# 定义ftp信息
FTP_HOST="192.168.20.86"
FTP_USERNAME="l***"
FTP_PASSWORD="l***"
FTP_DIRECTORY="/ftptest"
# 定义本地下载目录
LOCAL_DIRECTORY="/tmp/download"
# 连接ftp服务器并下载文件
ftp -inv $FTP_HOST << EOF
user $FTP_USERNAME $FTP_PASSWORD
lcd $LOCAL_DIRECTORY
cd $FTP_DIRECTORY
prompt
mget *
quit
EOF
# 删除ftp目录中的文件
ftp -inv $FTP_HOST << EOF
user $FTP_USERNAME $FTP_PASSWORD
cd $FTP_DIRECTORY
prompt
mdelete *
quit
EOF
注意:以上脚本中使用了ftp命令自带的参数,具体含义如下:
-i: 关闭交互模式,避免出现交互提示
-n: 禁止自动登录,避免出现登录信息提示
-v: 显示详细的ftp操作信息,方便调试
5、运行截图

三、python脚本,通过ftp上传和下载文件
功能同shell脚本相同,脚本见附件
