脚本之家,脚本语言编程技术及教程分享平台!
分类导航

Python|VBS|Ruby|Lua|perl|VBA|Golang|PowerShell|Erlang|autoit|Dos|bat|shell|

服务器之家 - 脚本之家 - shell - 后台实时分流文件的shell脚本

后台实时分流文件的shell脚本

2022-12-09 12:15脚本之家 shell

后台实时分流文件的shell脚本,有需要的朋友可以参考下

将bill 文件夹下的文件按一定规则(文件名奇偶)拷贝至bill1,bill2 文件夹下。
更新bill1,bill2 处理进度标签(更新file.max)
file3 为bill 目录下当前最新文件的标签,正常情况下每分钟会更新(格式为:20121016122100)

 

复制代码 代码如下:

#!/bin/bash
#for wanggy 2012/10/16
bill1=/infosms/bill1
bill2=/infosms/bill2
file_max=`cat file3`
cd /infosms/bill
while :
echo "开始"
do
if [ $file_max != `cat file3` ];then
echo "不相等,处理"
#判断file3 11-12位(奇偶)
num1=`cut -c 11-12 file3`
#如果不加10# 取模的时候遇到08会出错。(8进制判断?)
num=$((10#$num1%2))
#num=$(($num1%2))
#获取bill下当前文件(最新)
file_name=B`cat file3`
echo "最新文件:$file_name"
case $num in
1)
echo "odd"
cp -a $file_name ../bill1
echo `cat file3` >../bill1/file.max

0)
echo "even"
cp -a $file_name ../bill2
echo `cat file3` >../bill2/file.max

esac
echo "对file_max给最新的值"
file_max=`cat file3`
else
echo "相等,不处理,退出!"
# file_date=`cat $filename`
# exit 1
fi
echo "等待10秒,下一次判断..."
sleep 10
done

 

延伸 · 阅读

精彩推荐