自动轮询文件夹,检查文件不在变化后将文件挪走
Posted wenxuechaozhe
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了自动轮询文件夹,检查文件不在变化后将文件挪走相关的知识,希望对你有一定的参考价值。
业务需求
通过文件推送至源目录,进行轮询检查文件是否已经推送完毕,推送完毕后将文件推送至指定目录。
执行思路
通过定时任务进行巡检文件夹,判断文件夹大小不再发生改变后,进行相关业务处理
代码示例
#!/bin/bash
#源目录
sourceURL="/Volumes/MacBookProHD/Soft"
#目标目录
targetURL="/Users/wenxuechao/Desktop"
#初次检查文件大小
totalSizeFirst=0
#再次检查文件大小
totalSizeSecond=0
#校验文件夹是否存在
function check()
if [[ -d $sourceURL ]]; then
echo "the file is exist."
else
exit 0
fi
if [[ -d $targetURL ]]; then
echo "the file is exist."
else
exit 0
fi
#初次获取源文件大小
function getSizeFirst()
totalSizeFirst=`du -s $sourceURL | awk 'print $1'`
#再次获取源文件大小
function getSizeSecond()
totalSizeSecond=`du -s $sourceURL | awk 'print $1'`
#校验文件是否传输完毕
function fileCheck()
for (( i = 1; i > 0; i++ )); do
getSizeFirst
sleep 10
getSizeSecond
if [[ $totalSizeFirst -eq $totalSizeSecond ]]; then
echo "the file is finished"
break
fi
done
#业务处理单元
function business()
echo "start doing your business..."
#mv $sourceURL/aaa* $targetURL/aaa
#mv $sourceURL/bbb* $targetURL/bbb
#mv $sourceURL/ccc* $targetURL/ccc
#主函数
function main()
fileCheck
business
#脚本执行
main
经测试方案已通过,实现各自的业务单元即可。
以上是关于自动轮询文件夹,检查文件不在变化后将文件挪走的主要内容,如果未能解决你的问题,请参考以下文章