#!/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"`]"
shell脚本循环遍历目录文件并通过curl进行上传
最新推荐文章于 2023-09-12 21:41:41 发布