数据分发shell小脚本

在Linux系统下,当一个文件夹下的文件过多,则文件列表读取会很慢,而且不利于进行cp 或mv 操作,应对与此,我们通过一个分发脚本程序对指定文件夹的数据进行分发,重新分配到多个文件夹下。

  1. #! /bin/sh   
  2.   
  3. ###########################################   
  4. scrDir=/data/path/   
  5. splitNum=3   
  6.   
  7. count=1   
  8. while true; do  
  9.     FileList =`ls $scrDir|grep txt`   
  10.     if [ -z "$FileList" ]   
  11.     then   
  12.         #The filelist is empty, sleep 10s   
  13.         sleep 10s   
  14.     else  
  15.         #The folder has files, so mv it   
  16.         for FILE in $FileList  
  17.         do  
  18.             if [ $count -gt $splitNum ]   
  19.             then   
  20.                 count=1   
  21.             fi   
  22.             mkdir -p $scrDir$count‘/’   
  23.             mv $srcDir${FILE} $srcDir$count‘/’   
  24.             if [ $? !=0 ]   
  25.             then   
  26.                 logger -t “Dispatch $scrDir” -i “Move file $FILE fail, retry later.”  
  27.             fi   
  28.             count= expr $count + 1   
  29.         done   
  30.         times  
  31.     fi   
  32. done  

发表评论

电子邮件地址不会被公开。 必填项已用 * 标注

*

您可以使用这些 HTML 标签和属性: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>