老男孩教育每日一题-第95天-shell脚本知识点:书写脚本完成ftp上传下载
2017-07-19 14:45
465 查看
题目日常工作中经常用到FTP,进行文件的共享与下载,单对于有些不熟悉FTP命令行人员
使用FTP进行共享文件管理,是一件很头疼的事。
而且FTP如果有些文件需要每天定时进行上传或下载,人为重复相同工作也是没有意义的
因此如何编写自动下载或上传FTP文件脚本?
往期题目索引http://lidao.blog.51cto.com/3388056/1914205
使用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
相关文章推荐
- 老男孩教育每日一题-第98天-shell知识点:shell脚本中字符串截取的常用用法?
- 老男孩教育每日一题-第69天-shell脚本知识点:linux系统脚本中trap信号都有哪些,如何进行使用?
- 老男孩教育每日一题-第94天 -shell脚本知识点:对shell脚本进行加密
- 老男孩教育每日一题-第102天-如何找出/usr/local 下面所有shell脚本文件,并设置执行权限?
- 老男孩教育每日一题-第126天-通过shell脚本打印乘法口诀表
- 老男孩教育每日一题-第70天-shell脚本优化点:
- 老男孩教育每日一题-2017-04-17:使用Shell或Python写一个脚本,CPU使用率超过80%或硬盘超过85%邮件报警
- 老男孩教育每日一题:2017年3月9日-请解释下面Shell脚本中if开头的整行代码的意思及应用场景吗?
- 老男孩教育每日一题-第85天-下面这个脚本直接执行没有问题,在定时任务中有问题,什么原因?
- 老男孩教育每日一题:第6天-将前端运行的服务或脚本,如何可以放置到后端进行执行
- 老男孩教育每日一题-第97天-虚拟机使用知识点: vmware centos7虚拟机克隆系统如何修改网卡设置?
- 老男孩教育每日一题-2017年5月5日-防火墙知识点:设置一条Iptables规则,允许192.168.10.0段访问873端口?
- 老男孩教育每日一题-2017年5月10日-脚本中shift参数命令功能解释说明?
- 每日把前天日志下载下来的shell脚本
- 老男孩教育每日一题-2017年5月12日-磁盘知识点:linux系统中LVM配置实现方法?
- 马哥教育视频学习笔记-shell脚本完成磁盘分区格式化
- 老男孩教育每日一题-第96天-网站并发知识点:pv-并发与架构设计基础知识
- 老男孩教育每日一题-第65天-编写脚本,取出/tmp目录下面的所有文件的第一行
- 老男孩教育每日一题-第90天:写一个脚本并进行判断
- Shell脚本实现FTP上传下载文件