1. 程式人生 > >老男孩教育每日一題-第95天-shell腳本知識點:書寫腳本完成ftp上傳下載

老男孩教育每日一題-第95天-shell腳本知識點:書寫腳本完成ftp上傳下載

ftp腳本 ftp上傳腳本 ftp下周腳本 每日一題

題目

日常工作中經常用到FTP,進行文件的共享與下載,單對於有些不熟悉FTP命令行人員
使用FTP進行共享文件管理,是一件很頭疼的事。
而且FTP如果有些文件需要每天定時進行上傳或下載,人為重復相同工作也是沒有意義的
因此如何編寫自動下載或上傳FTP文件腳本?

答案參考:

1. ftpput.sh 上傳文件到ftp腳本

#!/bin/sh        
#FileName:ftpput.sh    
#Function:從本地客戶端向ftp服務器上傳一個文件      
#Version:V0.1        
#Author:    
#Date:
# $#表示傳遞給此Shell腳本的參數個數  
# -ne表示不等於  
if [ $# -ne 2  ]  
then  
    echo "Usage $0  <local_dir/filename> <remote_dir>"  
    exit 1  
fi    
說明:如果傳遞的參數個數不等於2個,即提示傳參報錯信息

# IP表示ftp的服務器ip地址  
IP=127.0.0.1    
#IP=192.168.6.1  
 
# FULLNAME獲取本地文件全路徑名  
FULLNAME=$1  
 
# DESTDIR獲取需要上傳的ftp遠程目錄路徑  
DESTDIR=$2 

# basename返回一個路徑中的文件名部分  
# 如FULLNAME="/home/Sunrier/Proj/log/test.log";  
# 當local_filename=`basename $FULLNAME`  
# 最終local_filename="test.log"  
local_filename=`basename $FULLNAME`  
 
# DESTFILE表示ftp服務器的路徑,以及保存後的文件名  
DESTFILE=$DESTDIR/$local_filename  

# 自動上傳文件到ftp服務器,免交互方式
ftp -i -n <<FTPIT  
open $IP  
user Sunrier redhat  
bin  
passive  
cd /home/remote/log/ftpfile  
put $FULLNAME $DESTFILE  
quit  
FTPIT  
exit 0

2. ftpget.sh 下載文件到ftp客戶端腳本

#FileName:ftpget.sh    
#Function:從ftp服務器上下載一個文件到本地計算機上      
#Version:V0.1        
#Author:
#Date:
     
# $#表示傳遞給此Shell腳本的參數個數  
# -ne表示不等於  
if [ $# -ne 2  ]  
then  
    echo "Usage $0  <remote_dir/filename> <local_dir>"  
    exit 1  
fi 

# IP表示ftp的服務器ip地址  
IP=127.0.0.1    
#IP=192.168.6.1 

# FULLNAME獲取從ftp服務器上下載的文件全路徑名  
FULLNAME=$1 

# DESTDIR獲取從ftp服務器上下載的文件所存放的本地計算機的目錄路徑  
DESTDIR=$2  
 
# remote_filename獲取從ftp服務器上下載的文件名  
remote_filename=`basename $FULLNAME`  
 
# DESTFILE表示下載文件所存放的本地路徑,以及本地保存後的文件名  
DESTFILE=$DESTDIR/$remote_filename

ftp -i -n <<FTPIT  
open $IP  
user Sunrier redhat  
bin  
cd /home/remote/log/ftpfile  
get $FULLNAME $DESTFILE  
quit  
FTPIT       
exit 0

備註

今天是每日一題陪伴大家的第95天期待你的進步

對於題目和答案的任何疑問,請在博客評論區留言
往期題目索引

http://lidao.blog.51cto.com/3388056/1914205

本文出自 “李導的博客” 博客,請務必保留此出處http://lidao.blog.51cto.com/3388056/1948924

老男孩教育每日一題-第95天-shell腳本知識點:書寫腳本完成ftp上傳下載