欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  网络运营

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

程序员文章站 2023-11-02 14:48:04
将bill 文件夹下的文件按一定规则(文件名奇偶)拷贝至bill1,bill2 文件夹下。更新bill1,bill2 处理进度标签(更新file.max)file3 为bi...

将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