1. 程式人生 > >CentOS 6.9使用Shell腳本實現FTP自動上傳和下載文件

CentOS 6.9使用Shell腳本實現FTP自動上傳和下載文件

ftp shell


一、安裝配置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自動上傳和下載文件