使用控件将文件从一个目录复制到另一个目录

时间:2016-06-14 19:45:30

标签: bash

以下代码...首先检测文件夹是否存在,如果存在,则将文件内部(如果超过12或12)复制到另一个文件夹。

在第一步......有一个循环......如果文件夹存在,程序有时会尝试(在这种情况下为10次),如果该文件夹存在。

如果文件夹存在,则等待12个文件...如果文件少于12个...程序,几秒钟后...重复控制...如果最后有12个文件或更多...程序将这些文件复制到第二个文件夹中。

我想分享代码...也许有更好的方法来做到这一点......更安全......更干净。感谢

#!/bin/bash

PARAM=`date +%Y%m%d`12
dir_origen=/home/Enric/Produccio/Grib/GFS0.50/
dir_desti=/home/Enric/Produccio/Grib/GFS0.50BIS/
cd $dir_origen/

if test -e 'gfs-0.5.'$PARAM/; then
echo "Directory exists"
else
echo "Directory doesn't exist"
cont=10

until [ $cont -lt 1 ] || test -e 'gfs-0.5.'$PARAM/; do 
echo "still we don't have the folder" 
sleep 10
let cont-=1
done
fi

if test -e 'gfs-0.5.'$PARAM/; then
cd 'gfs-0.5.'$PARAM/
echo "the folder exists" 
mkdir $dir_desti'gfs.'$PARAM
cont=10
until [ $cont -lt 1 ];do
files=`ls | wc -l | cat $VAR1`
pesT=`du -sk | awk '{print $1}' | cat $VAR3`
if [ $pesT -lt 1000000  ] || [ $files -lt 12 ]; then    
PARAM4=`date +%Y%m%d%H%M`
echo $pesT"k < 1000000k total"
echo $files "files of 12 waiting files"
echo "incomplete"   
else     
echo $pesT"k"
echo $files "files"
cp  $dir_origen'gfs-0.5.'$PARAM/gfs.t00z.pgrb2.0p50.f* $dir_desti'gfs.'$PARAM
chmod -R 777 $dir_desti'gfs.'$PARAM/*
echo "GFS-0.5 $PARAM downloaded"
let cont=1
exit
fi
let cont-=1
sleep 10
done
fi

0 个答案:

没有答案