CentOS 6.9使用Shell脚本实现FTP自动上传和下载文件

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了CentOS 6.9使用Shell脚本实现FTP自动上传和下载文件相关的知识,希望对你有一定的参考价值。


一、安装配置FTP:

# yum -y install vsftpd

# service vsftpd start

# ss -tunlp | grep 21


//添加本地FTP登录用户ftpuser

# useradd ftpuser

# echo 123456 | passwd --stdin ftpuser

# cd /etc/vsftpd/

# cp vsftpd.conf vsftpd.conf.bak


# vim vsftpd.conf

//允许本地用户登录FTP且对FTP具有写权限

local_enable=YES

write_enable=YES

//仅允许刚才添加的本地用户ftpuser能正常登录FTP

userlist_enable=YES

userlist_deny=NO

# echo ftpuser > user_list

//禁锢本地用户ftpuser于其家目录中

chroot_local_user=YES

# service vsftpd restart


//安装FTP客户端工具

# yum -y install ftp

# ftp 192.168.199.9

技术分享图片


二:使用Shell脚本实现FTP自动上传和下载文件

FTP服务器:192.168.199.9

FTP目录:/home/ftpuser,已被chroot/

本地目录:/software

//ftpuser用户对/software目录具有写权限

技术分享图片

# mkdir -pv /scripts

//FTP上下载指定文件到本地目录

# vim /scripts/ftp_download.sh

#!/bin/bash

ftp -n -i 192.168.199.9 <<EOF

user ftpuser 123456

binary

cd /

lcd /software

get apache-tomcat-8.0.45.tar.gz

bye

EOF

echo "Download from FTP successfully."

备注:如果要实现批量下载文件,可以将get apache-tomcat-8.0.45.tar.gz修改为mget *

# chmod +x ftp_download.sh

//上传本地指定文件至FTP

# vim /scripts/ftp_upload.sh

#!/bin/bash

ftp -n -i 192.168.199.9 <<EOF

user ftpuser 123456

binary

cd /

lcd /software

put apache-tomcat-8.0.45.tar.gz

bye

EOF

echo "Upload to FTP successfully."

备注:如果要实现批量上传文件,可以将put apache-tomcat-8.0.45.tar.gz修改为mput *

# chmod +x ftp_upload.sh

说明:

 <<:文件输入重定向

EOF:标识文件的开始和结尾,成对出现

ftp选项:

   -n:禁止自动登录

   -i:关闭多文件传输过程中的交互式提示

user  FTP登录用户名  FTP登录密码

binary:使用二进制格式传输文件


以上是关于CentOS 6.9使用Shell脚本实现FTP自动上传和下载文件的主要内容,如果未能解决你的问题,请参考以下文章

shell脚本实现ftp文件上传

CentOS 6.9 自定义单实例 二进制方式 安装mysql5.7.21

Linux CentOS 6.9系统优化脚本

shell脚本基础 -----简单脚本的实现

CentOS-6.9升级到Python-3.5

shell脚本实现FTP自动上传文件