#!/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脚本是一种强大的工具,可以自动化执行一系列命令和任务。在这个特定的案例中,`img_downloader.sh` 是一个用于批量下载网页中链接的图片的shell脚本,这在处理需要大量图片资源的项目时非常...
"工作中收集的shell脚本"这个标题暗示了这是一个包含了多种实用shell脚本的资源集合,可能涵盖了日常工作中遇到的各种场景,比如系统监控、文件管理、数据处理等。让我们详细探讨一下shell脚本及其相关知识点。 ...
例如,我们可以编写一个简单的脚本来遍历目录中的所有文件,并根据文件类型进行不同操作。 `grep`命令用于在文本中查找特定模式,而`find`则能在整个文件系统中搜索符合特定条件的文件。`sed`和`awk`是强大的文本...
文件和目录操作也是Shell脚本的重要部分。`cd`命令用于改变当前目录,`ls`列出目录内容,`mkdir`创建新目录,`rm`删除文件或目录,`cp`复制文件或目录,`mv`移动或重命名文件。文件权限可以通过`chmod`命令进行更改...
通过《Advanced Bash Scripting Guide》中文版的学习,无论是初学者还是有经验的系统管理员,都能提升自己在Shell脚本编程方面的能力,更好地驾驭Linux和Unix环境。这本书的中文版"abs-3.9.1_cn"是一个宝贵的资源,...
例如,你可以创建一个脚本来遍历订单目录,读取每个订单文件,根据规则更新订单状态,并将结果写入日志。 4. **管道与重定向**:shell中的管道`|`能将一个命令的输出作为另一个命令的输入,这在处理大量订单数据时...
Shell脚本是Linux/Unix操作系统中的一个强大工具,它允许用户编写自动化任务,执行一系列命令,简化日常系统管理和运维工作。在本示例中,我们将深入探讨`shellscript-examples-master`这个压缩包中可能包含的各种...
- `for`循环遍历目录中的所有文件,如 `for f in $src/*`,对每个文件执行特定操作。 - 函数定义,如 `mv_file()`,实现文件重命名和移动的功能。 - 使用Perl的一行命令来截取文件扩展名,如 `perl ! > $tmp_file...
- **循环结构**(for, while):用于重复执行某段代码,如遍历目录中的所有文件。 - **函数**:封装可重用的代码,提高脚本的模块化和可维护性。 2. **文件和目录操作**: - `cp` 和 `mv` 命令用于复制和移动...
标题中的"Cm$ Shell.zip_dos cmd"暗示了这是一个与DOS命令行操作相关的压缩文件,其中可能包含一个名为"Cm$ Shell"的程序或脚本,用于在DOS环境下执行命令行操作。描述提到“可以用来发送命令行参数,如向特定程序...
- 使用循环结构遍历音频链接,并调用下载命令(如`curl`或`wget`)进行下载。 - 可能还会有错误处理和日志记录功能,以确保下载过程的可靠性和可追踪性。 2. **网络数据抓取**: - 脚本可能使用curl或wget的 `-O...
例如,使用`for`循环遍历文件,用`if`语句进行条件判断,以及使用`alias`创建自定义命令。 为了更深入地学习,你可以通过`man`命令查看任何命令的官方手册页,获取详细的使用指南。同时,`history`命令可以显示你...
本主题主要关注的是如何通过Bash脚本来自动化地使用Tinypng对PNG文件进行批量处理。Bash是Unix/Linux系统中默认的Shell,它提供了强大的脚本编写能力,可以用于执行一系列命令,实现批处理任务。 首先,我们需要...
9. **网络操作**:通过`curl`、`wget`等工具,Shell脚本可以进行HTTP/HTTPS请求,下载或上传文件。此外,`netstat`可以检查网络连接状态,`ping`测试网络连通性。 10. **文件处理和文本操作**:`awk`、`sed`、`grep...
【标题】"asgn06-fetchall"是一个与Shell脚本相关的项目,其核心功能可能是批量获取或下载网络资源。在IT行业中,Shell脚本是一种非常实用的工具,特别是在Linux和Unix系统中,用于自动化执行一系列命令或者管理任务...
4. **循环结构**:如果需要下载的文件数量众多,脚本可能使用for或while循环来遍历并下载这些文件。 5. **错误处理**:成熟的脚本会包含错误处理机制,如try-catch结构或退出码检查,以便在出现问题时能够提供反馈或...
2. **文件和目录操作**:如创建、删除、移动、复制文件,以及遍历目录结构。`cp`, `mv`, `rm`, `mkdir`, `rmdir`等命令在脚本中经常使用。 3. **流程控制**:例如使用`find`命令查找文件,`grep`进行文本搜索,以及...
3. **文件和目录操作**:如创建、删除、移动、复制文件,以及遍历目录结构等。 4. **系统管理命令**:如使用`apt`或`yum`进行包管理,`systemctl`控制服务,`grep`、`sed`、`awk`处理文本数据。 5. **网络操作**:如...