老男孩教育每日一题-第95天-shell脚本知识点:书写脚本完成ftp上传下载

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了老男孩教育每日一题-第95天-shell脚本知识点:书写脚本完成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上传下载的主要内容,如果未能解决你的问题,请参考以下文章

​老男孩教育每日一题-第98天-shell知识点:shell脚本中字符串截取的常用用法?

老男孩教育每日一题-第69天-shell脚本知识点:linux系统脚本中trap信号都有哪些,如何进行使用?

老男孩教育每日一题-第126天-通过shell脚本打印乘法口诀表

老男孩教育每日一题-第70天-shell脚本优化点:

​老男孩教育每日一题-第102天-如何找出/usr/local 下面所有shell脚本文件,并设置执行权限?

老男孩教育每日一题-第65天-编写脚本,取出/tmp目录下面的所有文件的第一行