老男孩教育每日一题-第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


本文转自 李导 51CTO博客,原文链接:http://blog.51cto.com/lidao/1948924

相关文章
|
25天前
|
Shell Linux 测试技术
6种方法打造出色的Shell脚本
6种方法打造出色的Shell脚本
48 2
6种方法打造出色的Shell脚本
|
12天前
|
XML JSON 监控
Shell脚本要点和难点以及具体应用和优缺点介绍
Shell脚本在系统管理和自动化任务中扮演着重要角色。尽管存在调试困难、可读性差等问题,但其简洁高效、易于学习和强大的功能使其在许多场景中不可或缺。通过掌握Shell脚本的基本语法、常用命令和函数,并了解其优缺点,开发者可以编写出高效的脚本来完成各种任务,提高工作效率。希望本文能为您在Shell脚本编写和应用中提供有价值的参考和指导。
33 1
|
16天前
|
Ubuntu Shell 开发工具
ubuntu/debian shell 脚本自动配置 gitea git 仓库
这是一个自动配置 Gitea Git 仓库的 Shell 脚本,支持 Ubuntu 20+ 和 Debian 12+ 系统。脚本会创建必要的目录、下载并安装 Gitea,创建 Gitea 用户和服务,确保 Gitea 在系统启动时自动运行。用户可以选择从官方或小绿叶技术博客下载安装包。
37 2
|
JavaScript Unix Linux
Bat脚本处理ftp超强案例解说
前言:    公司有几百台windows服务器,每次程序更新,如果是一台台拷数据,只怕安排十个人,一天都不一定做得完,所以就必须研究个全自动更新方案来,于是就想到了FTP,做个主FTP站,在几百台客户机上启动BAT脚本,每30秒检测一次,如果主站有更新程序,就自动下载更新,几分钟内,上400台windows服务器,都可以全自动更新程序完毕,相当实用,现把当初研究BAT的脚本思路贴出来,希望对大批量运维人员一个方向。
1139 0
|
6月前
|
SQL 分布式计算 DataWorks
DataWorks常见问题之dataworks连接FTP服务器失败如何解决
DataWorks是阿里云提供的一站式大数据开发与管理平台,支持数据集成、数据开发、数据治理等功能;在本汇总中,我们梳理了DataWorks产品在使用过程中经常遇到的问题及解答,以助用户在数据处理和分析工作中提高效率,降低难度。
|
1月前
|
网络协议 文件存储 Windows
Windows Server 2019 FTP服务器搭建
Windows Server 2019 FTP服务器搭建
|
1月前
|
安全 网络协议 网络安全
Windows Server 2003 FTP服务器搭建
Windows Server 2003 FTP服务器搭建
|
1月前
|
弹性计算 关系型数据库 网络安全
阿里云国际版无法连接和访问Windows服务器中的FTP服务
阿里云国际版无法连接和访问Windows服务器中的FTP服务
|
3月前
|
安全 Ubuntu Linux
在Linux中,如何进行FTP服务器配置?
在Linux中,如何进行FTP服务器配置?
下一篇
无影云桌面