1. 程式人生 > 其它 >shell指令碼連線ftp推送資料夾_關於Shell指令碼

shell指令碼連線ftp推送資料夾_關於Shell指令碼

技術標籤:shell指令碼連線ftp推送資料夾

今天時間比較緊迫,暫時先不分享多執行緒。以下給大家分享一下我之前寫過的一個shell指令碼。當時是java+shell+linux,去完成使用者輸入linux伺服器地址、賬號、密碼,根據已得資訊在對應的伺服器上建立一個FTP伺服器。至於這個FTP 4c52fb807ab3f18946cb756650c0a03e.png伺服器,就是讓使用者他們可以擁有一個類似私有云的檔案儲存功能。以下:
#!/bin/bash# 0 檔名 1方法 2埠 3賬號 4密碼#宣告變數StackStack=$1;#如果空 則安裝 如果不是  則賦值if [ "${Stack}" == "" ]; then    Stack="install";else    Stack=$1;fi#安裝方法#1埠 2賬號 3密碼install_vsftp(){      #建立FTP資料夾    mkdir /FTPSource    mkdir /FTPSource/company    port=$1;    #檢測ftp服務    rpm -q vsftpd    #如果有    if [ "$?" -eq "0" ]; then    echo "You have to install VSFTPD!"    else    #判斷是否監控埠    netstat -ntulp |grep -w $1    #如果執行正常    if [ "$?" -eq "0" ]; then    echo "Other FTP is already installed"    else    #預設路徑/FTPSource    directorys="/FTPSource";    fi    #安裝ftp    yum -y install vsftpd    #安裝正常設定路徑    if [ "$?" -eq "0" ]; then    if [ -d ${directorys} ]; then    #許可權開啟    chmod -R 777 ${directorys}    fi    #新增使用者 安裝路徑  使用者名稱 使用者密碼    useradd -d ${directorys} -g ftp -s /sbin/nologin $2    echo "$3" | passwd --stdin $2 > /dev/null    #配置config檔案    #不能匿名訪問    sed -i 's/^anonymous_enable=YES/anonymous_enable=NO/g' /etc/vsftpd/vsftpd.conf    #是否將所有使用者限制在主目錄    sed -i 's/^#chroot_local_user=YES/chroot_local_user=YES/g'      #是否啟動限制使用者的名單    sed -i 's/^#chroot_list_enable=YES/chroot_list_enable=YES/g' /etc/vsftpd/vsftpd.conf    #設定埠    echo "listen_port=$1" >> /etc/vsftpd/vsftpd.conf    #更改FTP根目錄    echo "local_root=${directorys}" >> /etc/vsftpd/vsftpd.conf    #系統使用者    echo "chroot_local_user=YES" >> /etc/vsftpd/vsftpd.conf    #匿名使用者     ---不開啟    #echo "anon_root=${directorys}" >> /etc/vsftpd/vsftpd.conf    #設定services埠         -------必須一致    sed -i "/^ftp/s/21\/tcp/${port}\/tcp/" /etc/services    sed -i "/^ftp/s/21\/udp/${port}\/udp/" /etc/services    #設定使用者  開通的使用者都在這    echo "userdel $2" >> /etc/vsftpd/user_list.sh    echo  "" > /etc/vsftpd/chroot_list    chkconfig vsftpd on    #重啟服務    這是老版的命令    service vsftpd restart    echo "###################################"    echo "FTP user:$2"    echo "Ftp password:$3"    echo "The FTP directory:${directorys}"    echo "-----------------------------------"    else    echo "VSFTPD installation failed!"    fi    fi}# 1賬號 2密碼add_ftp(){    #路徑    directorys="/FTPSource"    #使用者名稱 密碼    if [ -d ${directorys} ]; then    chmod -R 777 ${directorys}    fi    useradd -d ${directorys} -g ftp -s /sbin/nologin $1    echo "$2" | passwd --stdin $1 > /dev/null    echo "userdel $1" >> /etc/vsftpd/user_list.sh    if [ -d ${directorys} ]; then    chmod -R 777 ${directorys}    fi    echo "###################################"    echo "FTP user:$1"    echo "Ftp password:$2"    echo "The FTP directory:$directorys"    echo "-----------------------------------"}#解除安裝ftpuninstall_ftp(){yum -y remove vsftpd*sh /etc/vsftpd/user_list.shecho "" > /etc/vsftpd/user_list.sh}#獲取變數的值  如果install 執行安裝 add執行新增服務 uninstall 解除安裝服務case "${Stack}" in    install)        install_vsftp $2 $3 $4        ;;    add)        add_ftp  $3 $4        ;;    uninstall)        uninstall_ftp        ;;    *)       echo "Usage: $0 {install|add|uninstall}"        ;;esac