`
lfwer
  • 浏览: 86416 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

shell脚本循环遍历目录文件并通过curl进行上传

 
阅读更多

#!/bin/sh

 

#待上传文件目录

upload_dirName="/home/operationPhone/upload/"

#上传完毕后备份目录

complete_dirName="/home/operationPhone/complete/"

#日志目录

log_dirName=“/var/log/”

#当前日期

currentDate=`date +%Y-%m-%d`

 

function checkDir(){

  if [ ! -d $1 ];then

      mkdir -p $1;

  fi

}

 

function log_info(){

     DATE_N=`date "+%Y-%m-%d %H:%M:%S"`

     USER_N=`whoami`

     #执行成功日志打印路径

     echo "${DATE_N} ${USER_N} execute $0 [INFO] $@" >>$log_dirName/operation-log

}

 

log_info "当前时间点:" $currentDate

 

#上传文件

function PostData(){

  local option=""

  local param=$1

  local arr=(${param//_/ })

  option=${arr[0]}

  groupId=${arr[1]}

  if [ -n "$option" ]; then

     log_info "文件"$1"变更类型:"$option",变更组groupId:"$groupId

     curl -F "groupId=${groupId}" -F "option=${option}"  -F "file=@${upload_dirName}$1" "http://192.168.1.1:8080/Api/upload" >> $log_dirName/operation-log;

     #同步到另一台服务器,注意192.168.1.2做了免密登陆

     rsync  -r ${upload_dirName}$1  192.168.1.2:/home/ftp/;

     #放到本地备份目录去

     mv -f ${upload_dirName}$1 ${complete_dirName};

  fi

}

 

#遍历目录

function loopUploadDir(){

  for element in `ls $1`

    do

        local tmpFile=$1"/"$element

        if [ -f $tmpFile ]

        then

            #getdir $tmpFile

            log_info "开始上传。。。。"$tmpFile

            PostData $element;

        else

            log_info $tmpFile"不是文件"

        fi

   done

}

 

checkDir ${log_dirName}

log_info "开始处理上传任务:[`date "+%Y-%m-%d %H:%M:%S"`]"

checkDir ${upload_dirName}

checkDir ${complete_dirName}

loopUploadDir ${upload_dirName}

log_info "上传任务处理完毕:[`date "+%Y-%m-%d %H:%M:%S"`]"

分享到:
评论

相关推荐

    linux shell 脚本攻略里用来下载链接图片的脚本,附上整本书脚本打包

    在Linux环境中,shell脚本是一种强大的工具,可以自动化执行一系列命令和任务。在这个特定的案例中,`img_downloader.sh` 是一个用于批量下载网页中链接的图片的shell脚本,这在处理需要大量图片资源的项目时非常...

    工作中收集的shell脚本

    "工作中收集的shell脚本"这个标题暗示了这是一个包含了多种实用shell脚本的资源集合,可能涵盖了日常工作中遇到的各种场景,比如系统监控、文件管理、数据处理等。让我们详细探讨一下shell脚本及其相关知识点。 ...

    Unix shell编程

    例如,我们可以编写一个简单的脚本来遍历目录中的所有文件,并根据文件类型进行不同操作。 `grep`命令用于在文本中查找特定模式,而`find`则能在整个文件系统中搜索符合特定条件的文件。`sed`和`awk`是强大的文本...

    Shell脚本

    文件和目录操作也是Shell脚本的重要部分。`cd`命令用于改变当前目录,`ls`列出目录内容,`mkdir`创建新目录,`rm`删除文件或目录,`cp`复制文件或目录,`mv`移动或重命名文件。文件权限可以通过`chmod`命令进行更改...

    shell编程经典书籍

    通过《Advanced Bash Scripting Guide》中文版的学习,无论是初学者还是有经验的系统管理员,都能提升自己在Shell脚本编程方面的能力,更好地驾驭Linux和Unix环境。这本书的中文版"abs-3.9.1_cn"是一个宝贵的资源,...

    命令操作订单

    例如,你可以创建一个脚本来遍历订单目录,读取每个订单文件,根据规则更新订单状态,并将结果写入日志。 4. **管道与重定向**:shell中的管道`|`能将一个命令的输出作为另一个命令的输入,这在处理大量订单数据时...

    shell脚本示例

    Shell脚本是Linux/Unix操作系统中的一个强大工具,它允许用户编写自动化任务,执行一系列命令,简化日常系统管理和运维工作。在本示例中,我们将深入探讨`shellscript-examples-master`这个压缩包中可能包含的各种...

    linux大型作业.pdf

    - `for`循环遍历目录中的所有文件,如 `for f in $src/*`,对每个文件执行特定操作。 - 函数定义,如 `mv_file()`,实现文件重命名和移动的功能。 - 使用Perl的一行命令来截取文件扩展名,如 `perl ! > $tmp_file...

    有用的脚本:这是一个项目,其中包含可用于帮助配置系统的脚本

    - **循环结构**(for, while):用于重复执行某段代码,如遍历目录中的所有文件。 - **函数**:封装可重用的代码,提高脚本的模块化和可维护性。 2. **文件和目录操作**: - `cp` 和 `mv` 命令用于复制和移动...

    - Cmd$ Shell.zip_dos cmd

    标题中的"Cm$ Shell.zip_dos cmd"暗示了这是一个与DOS命令行操作相关的压缩文件,其中可能包含一个名为"Cm$ Shell"的程序或脚本,用于在DOS环境下执行命令行操作。描述提到“可以用来发送命令行参数,如向特定程序...

    radio-junior-dl:从Radio Junior下载音频文件的丑陋脚本

    - 使用循环结构遍历音频链接,并调用下载命令(如`curl`或`wget`)进行下载。 - 可能还会有错误处理和日志记录功能,以确保下载过程的可靠性和可追踪性。 2. **网络数据抓取**: - 脚本可能使用curl或wget的 `-O...

    中文版和英文版的linux源码实战的 Linux 命令行教程

    例如,使用`for`循环遍历文件,用`if`语句进行条件判断,以及使用`alias`创建自定义命令。 为了更深入地学习,你可以通过`man`命令查看任何命令的官方手册页,获取详细的使用指南。同时,`history`命令可以显示你...

    Tinypng:使用tinypng.com缩小PNG文件的Bash脚本

    本主题主要关注的是如何通过Bash脚本来自动化地使用Tinypng对PNG文件进行批量处理。Bash是Unix/Linux系统中默认的Shell,它提供了强大的脚本编写能力,可以用于执行一系列命令,实现批处理任务。 首先,我们需要...

    JD_Task_daily

    9. **网络操作**:通过`curl`、`wget`等工具,Shell脚本可以进行HTTP/HTTPS请求,下载或上传文件。此外,`netstat`可以检查网络连接状态,`ping`测试网络连通性。 10. **文件处理和文本操作**:`awk`、`sed`、`grep...

    asgn06-fetchall

    【标题】"asgn06-fetchall"是一个与Shell脚本相关的项目,其核心功能可能是批量获取或下载网络资源。在IT行业中,Shell脚本是一种非常实用的工具,特别是在Linux和Unix系统中,用于自动化执行一系列命令或者管理任务...

    dl-scripts:这些将是我迁移到新设置时的下载脚本

    4. **循环结构**:如果需要下载的文件数量众多,脚本可能使用for或while循环来遍历并下载这些文件。 5. **错误处理**:成熟的脚本会包含错误处理机制,如try-catch结构或退出码检查,以便在出现问题时能够提供反馈或...

    Random-Scripts

    2. **文件和目录操作**:如创建、删除、移动、复制文件,以及遍历目录结构。`cp`, `mv`, `rm`, `mkdir`, `rmdir`等命令在脚本中经常使用。 3. **流程控制**:例如使用`find`命令查找文件,`grep`进行文本搜索,以及...

    one_cloud

    3. **文件和目录操作**:如创建、删除、移动、复制文件,以及遍历目录结构等。 4. **系统管理命令**:如使用`apt`或`yum`进行包管理,`systemctl`控制服务,`grep`、`sed`、`awk`处理文本数据。 5. **网络操作**:如...

Global site tag (gtag.js) - Google Analytics