いくつかのファイルを含む2つのディレクトリがあります。私はHadoopを使用していますが、これら2つのディレクトリは両方ともHadoopファイルシステムです。
ディレクトリの最初の場所-
/sys/edw/
ディレクトリの2番目の場所-
/apps/only/
these two directories
あるかどうか見たいですfiles or not
。いくつかのファイルが含まれている場合は、ファイルがcontinue and execute my other shell scripts
含まれていない場合はwait for half an hour
、ファイルがこれら2つのディレクトリに到着したかどうかをもう一度確認します。
到着した場合は他のシェルスクリプトを実行しますが、到着していない場合は30分待ってから、30分ごとにチェックを続けます。
アルゴリズム-
If [ hadoop fs -ls /sys/edw/ AND hadoop fs -ls /apps/only/ ]
then
continue executing my other shell scripts
but if condition is not true
wait for half an hour and then check again with the if loop and keep on looking every half an hour until the if condition is not true
上記の条件が真の場合にのみ、以下のスクリプトを実行したいと思います。
query.sh
基本的に、実行したいスクリプトはほとんどありません 。それ以外の場合は、をチェックして確認しif condition is true
続けます。every half an hour
if condition is true or not
私は走っているSunOS 5.1
更新されたコード:-
私は以下のようなことを試みていますが、ファイルはこのディレクトリ(/ apps / hdmi / 20120916)に存在しないため、30分間スリープする必要がありますが、スリープする代わりに、他のシェルスクリプトを実行します。やってる-
while [ ! hadoop fs -ls /apps/hdmi/20120916 ]; do
sleep 1800
done
echo "Hello new11"
pwd
私がしている何か問題がありますか?
もう一度更新:-
while ! hadoop fs -ls /apps/hdmi/20120916 ; do
sleep 1800
done
echo "Hello new11"
pwd
上記のものも試しましたが、このディレクトリは存在せず(/ apps / hdmi / 20120916)、30分間スリープする代わりに、Hello new11
実行されるべきではないものが出力されます。30分待つ必要があります。他に足りないものはありますか?私は走っていますSunOS 5.1