shell小脚本实现上传目录中的所有文件到服务器

前段时间,公司新开发了一套用于国外的bss系统,其中有一个功能是,让客户上传证件、以及本人手持证件的照片,系统这边进行人工审核,但是由于中国到国外的网络很慢,审核工作在国外,而我们上传端在中国,所以同步上传的时候由于网络原因失败率极高,因此必须将这些文件变成异步上传,开发的工作任务压力太大,这个功能不大,但是改起来又会很麻烦,所以,无奈,就用运维的方法处理这个问题了,废话多了,请看脚本【菜鸟一枚,如有不妥还请不吝赐教,十分感激】:

#!/bin/sh
###Warning:Not Modified
###Author:[email protected]
###Date:2016-08-31
export HOSTNAME=host_name
export HOME=/home/testuser
export SHELL=/bin/bash
export TERM=vt100
export HISTSIZE=1000
export QTDIR=/usr/lib64/qt-3.3
export QTINC=/usr/lib64/qt-3.3/include
export JRE_HOME=${HOME}/java/jre
export USER=testuser
export LD_LIBRARY_PATH=:/usr/local/apr/lib
export MAIL=/var/spool/mail/testuser
export JAVA_HOME=${HOME}/java
export LANG=en_US.UTF-8
HOST=ftp.host.or.ip
USER=ftpuser.user
PASS=ftpuser.password
REMOTE_PATH=/home/ftpuser.user/BUSI_USER_REG_IMG_UPLOAD
REMOTE_PATH_HIS=/home/ftpuser.user/BUSI_USER_REG_IMG_UPLOAD_HIS
REMOTE_PATH_TMP=/home/ftpuser.user/BUSI_USER_REG_IMG_UPLOAD_TMP
LOCAL_PATH=${HOME}/important_image
LOCAL_PATH_HIS=${HOME}/important_image_his
LOCAL_PATH_TMP=${HOME}/important_image_tmp
count=0
#------------------------------------------------------------------------------------------------------------------------------------------------------------
#------------------------------------------------------------------------------------------------------------------------------------------------------------
#--------------------cut line up is config down is program!-------------------------------------------------------------------------------------------------
#------------------------------------------------------------------------------------------------------------------------------------------------------------
#------------------------------------------------------------------------------------------------------------------------------------------------------------
cd ${HOME}
alias cp="cp"
START_TIME=`date "+%s"`
echo "start-----------------start-----------------start-----------------start-----------------start-----------------`date`"
mkdir -p ${LOCAL_PATH}
mkdir -p ${LOCAL_PATH_HIS}
mkdir -p ${LOCAL_PATH_TMP}
for file in `find ${LOCAL_PATH} -maxdepth 1  -type f`
do
filename=`basename ${file}`
all_file_name="${all_file_name} ${filename}"
all_file="${all_file} ${file}"
echo "${file}......................................................................[yes]"
count=`expr $count + 1`
done
#判定`find ${LOCAL_PATH} -maxdepth 1  -type f` 命令是否搜索到符合条件的文件
if [[ $count = "0" ]]; then
echo "======================================NO file find in folder ${LOCAL_PATH}!======================================"
else
TIME_TAG=`date "+%Y%m%d%H%M%S%N"`
mkdir -p ${LOCAL_PATH_TMP}/${TIME_TAG}
mv ${all_file} ${LOCAL_PATH_TMP}/${TIME_TAG}
cd ${LOCAL_PATH_TMP}/${TIME_TAG}
ftp -v -n  ${HOST} <<END
user ${USER} ${PASS}
cd ${REMOTE_PATH}
bin
prompt off
mput ${all_file_name}
quit
END
cp -rf ${LOCAL_PATH_TMP}/${TIME_TAG}/* ${LOCAL_PATH_HIS}
rm -rf ${LOCAL_PATH_TMP}/${TIME_TAG}
END_TIME=`date "+%s"`
SECONDS=`expr $END_TIME - $START_TIME`
echo "++++++++++++++++++++++++++++++++++++++++++++ftp_host:${HOST}   ftp_path:${REMOTE_PATH}+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++"
echo "#####################${SECONDS}s put to ftp ${count} files!!!!###############################################"
fi
echo "stop------------------stop------------------stop------------------stop------------------stop-----------------`date`"
exit
时间: 2024-08-06 20:02:24

shell小脚本实现上传目录中的所有文件到服务器的相关文章

为什么我上传了flv或MP4文件到服务器,可输入正确地址通过http协议来访问总是出现“无法找到该页”的404错误呢

常用MIME类型(Flv,Mp4的mime类型设置) 也许你会在纳闷,为什么我上传了flv或MP4文件到服务器,可输入正确地址通过http协议来访问总是出现“无法找到该页”的404错误呢?这就表明mp4格式文件是服务器无法识别的,其实,这是没有在iis中将相应的MIME类型进行设置的原因.那该怎样设置MIME类型呢? 开启mp4文件的话,需要在 “Internet信息(IIS)管理器”中右击需要更改的网站或目录,可以打开形如下图的窗口(我右击的是文件夹而不是站点,所以您右击站点的话打开的 或许比

IIS中的上传目录权限设置问题

虽然 Apache 的名声可能比 IIS 好,但我相信用 IIS 来做 Web 服务器的人一定也不少.说实话,我觉得 IIS 还是不错的,尤其是 Windows 2003 的 IIS 6(马上 Longhorn Server 的 IIS 7 也就要来了,相信会更好),性能和稳定性都相当不错.但是我发现许多用 IIS 的人不太会设置 Web 服务器的权限,因此,出现漏洞被人黑掉也就不足为奇了.但我们不应该把这归咎于 IIS 的不安全.如果对站点的每个目录都配以正确的权限,出现漏洞被人黑掉的机会还是

用shell脚本递归遍历某个目录下的所有文件并移动到某个指定的目录中

1,先看下脚本cat recursive.sh #!/bin/shread -p "input path:" FilePath function getAllfiles(){for file in ls $FilePathdoif [ -f $file ]thenecho $filemv $file /bak_file/elif test -d $filethenecho "-------------------------------->"cd $fileF

DocCms存储型XSS+后台任意文件下载上传+目录删除+sql执行(有条件可getshell)

下载链接 https://share.weiyun.com/46ebceb4fe91da144ad2661522a941e1 留言处存储型XSS 漏洞在content/guestbook/index.php function create() { echo 123; global $db,$request; if ($_SESSION['verifycode'] != $request['checkcode']) { echo '<script>alert("请正确填写验证码!&qu

nginx上传目录配置,禁止执行权限

我们经常会把网站的图片文件上传目录设置为只可上传文件但不能执行文件,就是要禁止执行权限,小编来给大家举一个上传目录配置,禁止执行权限方法,各位可参考. 如果不让有执行权限最简单的办法  代码如下 复制代码 location ~ ^/upload/.*.(php|php5)$ { deny all; } 上面的方法满足不了我要求,后来找到一个不错的脚本  代码如下 复制代码 server        {                listen       80;               

小程序---&gt;小程序图片上传阿里OSS使用方法

小程序图片上传阿里OSS使用方法 首先看下参考文档 ( http://blog.csdn.net/qq_38125123/article/details/73870667) 这里只将一些运用过程中遇到的问题及解决办法: 1.cryptojs,sha1js,hmacjs,base64js在哪下载及使用方法: 文件可以在阿里oss实例文档中找到. 在运用过程中如果是通过require引入的,会找不到引入的方法,原因是这些js文档没有模块导出,可以在原文件里找到其顶部全局对象,exports出来即可.

apache配置上传目录禁止运行php的方法

安全防护网站上传功能里引发安全问题很多很多,你做好安全防护了吗? 导读: 禁止上传目录运行php等可执行文件可以从一定程度上增加网站的安全性, 禁止上传目录运行php的方法可以用.htaccess文件, 也可以直接在apache服务器上修改配置文件. 第一种禁止上传目录运行php的方法 如果你用的虚拟空间可以用.htaccess文件来限制上传目录运行php. .htaccess方法A 新建一个.htaccess文件,拷贝下面的内容, 上传到要禁止运行php的文件夹内 <Files ~ ".

Kindeditor(JSP)&amp; 上传目录不存在

一.基本配置 Kindeditor是一款富文本编辑器,作用跟博客园写文章用的这个编辑器一样,都是为了让文本加入各种各样的修饰元素. 使用方法如下,解压缩,把期中的ASP\NET\PHP文件夹都删除,然后在web项目下新建一个文件夹/kindeditor,再将文件拖入: 目录结构如上. 在需要导入kindeditor的JSP中添加以下代码 1 <!-- kindeditor --> 2 <script charset="utf-8" src="kindedit

ASP.NET MVC在服务端把异步上传的图片裁剪成不同尺寸分别保存,并设置上传目录的尺寸限制

我曾经试过使用JSAjaxFileUploader插件来把文件.照片以异步的方式上传,就像"MVC文件图片ajax上传轻量级解决方案,使用客户端JSAjaxFileUploader插件01-单文件上传"中说的,这种方法足够轻.足够好.但今天,要在前面的基础上再增加2个需求: 1.异步判断上传的图片是否超过最大限制2.把上传的图片裁剪成大中小3张图片,分别保存,删除的时候一块被删除 上传图片如果超出最大尺寸限制,终止上传,并报错误信息. 前台上传图片,显示缩略图. 在项目根目录下的指定文