Linux下使用shell实现上传linux下某个目录下所有文件到ftp

首先我们需要搞清楚单个文件怎么上传,把这个单文件上传到ftp上的实现命名为一个:upload_to_ftp_command.sh

之后,需要弄清楚怎么实现遍历一个目录下的所有文件的,把这个遍历某个目录下的文件实现命名为:foeach_directory_and_uploadfile_to_ftp.sh。

upload_to_ftp_command.sh

#!/bin/bash
FTILE_NAME=$1
ftp -n <<- EOF
open 100.170.141.26
user jy new.abc$
cd /Temp/a_datang/s1mme1031
bin
put $FTILE_NAME
bye
EOF

foeach_directory_and_uploadfile_to_ftp.sh

#!/bin/bash

for file in ./*
do
  if test -f $file
  then
     echo $file ‘ is file‘
     ./upload_to_ftp_command.sh $file
  fi
  if test -d $file
  then
     echo $file ‘ is directory‘
  fi
done

调用foeach_directory_and_uploadfile_to_ftp.sh:

$ ./foeach_directory_and_uploadfile_to_ftp.sh
./000000_0  is file
./000001_0  is file
./000002_0  is file
./000003_0  is file
./000004_0  is file
./000005_0  is file
./000006_0  is file
./000007_0  is file
./000008_0  is file
./000009_0  is file
./000010_0  is file
./000011_0  is file
./000012_0  is file
./000013_0  is file
./000014_0  is file
./000015_0  is file
./000016_0  is file
./000017_0  is file
./000018_0  is file
./000019_0  is file
./000020_0  is file
./000021_0  is file
./000022_0  is file
./upload_to_ftp_command.sh  is file
./foeach_directory_and_uploadfile_to_ftp.sh  is file

参考文章:

http://jingyan.baidu.com/article/22fe7ced209c073003617f47.html?st=2&os=0&bd_page_type=1&amp;net_type=2

http://blog.sina.com.cn/s/blog_5ad08c1601013gl2.html

时间: 2024-10-20 06:01:17

Linux下使用shell实现上传linux下某个目录下所有文件到ftp的相关文章

nginx+tomcat环境下,web项目文件上传问题(未完待续)

最近我把自己的服务器换成centos,利用nginx做服务器实现动静分离,觉得项目响应的速度明显提高了(一周之前还是Windows服务器+纯tomcat结构,慢惨了T_T),以前都是用tomcat做服务器,用了nginx之后,处理文件上传及访问时就出了问题--因为我之前都是把文件保存到该web项目的目录(tomcat中)下,而nginx访问的是自己的目录(我的是/data/wwwroot/default/),所以文件可以上传但是无法通过nginx访问,因为tomcat与nginx是两台不同的服务

Linux 文件上传Linux服务器

进入命令行 在图形化桌面出现之前,与Unix系统进行交互的唯一方式就是借助由shell所提供的文本命令行界面(command line interface,CLI).CLI只能接受文本输入,也只能显示出文本和基本的图形输出.众所周知,如今的Linux环境已经发生了巨大变化,所有的Linux发行版都配备了某种类型的图形化桌面环境.但是,如果向输入shell命令,仍然需要使用文本显示来访问shell的CLI. Linux发行版通常使用Ctrl+Alt组合键配合F1或F7来进入图形界面.Ubuntu使

在linux命令行利用SecureCRT上传下载文件

一般来说,linux服务器大多是通过ssh客户端来进行远程的登陆和管理的,使用ssh登陆linux主机以后,如何能够快速的和本地机器进行文件的交互呢,也就是上传和下载文件到服务器和本地?与ssh有关的两个命令可以提供很方便的操作:    sz:将选定的文件发送(send)到本地机器    rz:运行该命令会弹出一个文件选择窗口,从本地选择文件上传到服务器(receive) rz,sz是便是Linux/Unix同Windows进行ZModem文件传输的命令行工具 windows端需要支持ZMode

在windows和linux之间用SecureCRT来上传和下载文件

SecureCRT可以使用linux下的zmodem协议来快速的传送文件,使用非常方便.具体步骤:一.在使用SecureCRT上传下载之前需要给服务器安装lrzsz:A:CentOS中使用yum安装即可 yum -y install lrzsz B:编译安装1.从下面的地址下载 lrzsz-0.12.20.tar.gzhttps://ohse.de/uwe/releases/lrzsz-0.12.20.tar.gz2.查看里面的INSTALL文档了解安装参数说明和细节3.解压文件 tar zxv

Debian下自动备份文件并上传到远程FTP服务器且删除指定日期前的备份Shell脚本

说明:  1.备份目录/home/osyunwei下面所有的文件到/home/osyunweibak里面,并且保存为osyunwei20120701.tar.gz的压缩文件格式(2012_07_01是指备份执行时当天的日期),最后只保留最近7天的备份 2.上传/home/osyunweibak里面的备份文件到远程FTP服务器上,并且只保留最近7天的备份. 3.FTP服务器:192.168.21.139 端口:21 账号:osyunwei 密码:123456 osyunweibak为备份文件存放目

利用 lrzsz 实现linux与本机的上传和下载

利用 lrzsz 实现linux与本机的上传和下载 利用 yum 来安装 lrzszyum -y install lrzsz 下载 rzrz 上传 sz 文件名sz 文件名 原文地址:http://blog.51cto.com/snowlai/2135425

使用shell并发上传文件到hdfs

    最初业务需求:将文件从ftp下到本地并上传到hdfs,其中ftp到本地和本地到hdfs皆有文件完整性校验,ftp到本地的逻辑由于和业务耦合度较高,因此本文不再叙述,这里仅说一下从本地到hdfs的并发脚本相关说明及代码实现. 测试环境: RHEL6.4 x86_64 / Hadoop 2.4.0.2.1.5.0-695 部分需求说明: 1.需要提供一个文件列表,以文件的形式,每行一个文件,所有文件有一个共同的父目录,且文件是有效存在的,当然,不存在脚本也会判断并记录的. 2.需要提供一个h

在ASP.NET MVC下实现单个图片上传, 客户端服务端双重限制图片大小和格式, 服务端裁剪图片

在"MVC文件图片ajax上传轻量级解决方案,使用客户端JSAjaxFileUploader插件01-单文件上传"一文中,使用JSAjaxFileUploader这款插件实现了单文件上传,在chrome, firefox下运行良好,但在某些版本的IE浏览器(比如IE8,IE9)下却无法正常运行,这可能是因为JSAjaxFileUploader插件在编写时没有考虑到某些低版本IE浏览器导致的.本篇,就在ASP.NET MVC4下实现单个图片上传,具体功能包括: 1.在客户端选择图片,并限

window下如何使用Git上传代码到github远程服务器上(转)

注册账户以及创建仓库 首先你得有一个github账号,没有自行注册,登录成功后应该是这样 在页面上方用户菜单上选择 "+"->New repository 创建一个新的仓库 为仓库取一个名字,点击创建仓库按钮 你将成功创建一个仓库,create. 安装git客户端 github是服务端,要想在自己电脑上使用git我们还需要一个git客户端,windows用户请下载 http://msysgit.github.com/一路next,安装成功后, 回到C盘,或任何文件夹下,点鼠标右键