Нужна помощь с моим скриптом bash.Я пытаюсь написать этот сценарий оболочки, чтобы сделать следующее:
найти файлы в каталоге с именем: server1-date.done
server2-date.done
server3-date.done
...
server10-date.done
печать в listA
- поиск файлов в каталоге (* .gz) и печать в
listB
- , если
listA
имеет количество 10
(в основном найдено 10 .done
файлов), затем переместите файлы в listB
в новый каталог - после перемещения файлов из
listB
, затем удалитестарый каталог с таким же именем (server1-date
, server2-date
, ...) и файлы .done.
Пока что у меня есть это в работе.Я не могу получить условие для работы секции if
.Я не думаю, что я закодировал это правильно.Будем благодарны за любые предложения, улучшения и т. Д.Спасибо.
#Directories
GZDIR=/mydumps/mytest
FINALDIR=/mydumps/mytest/final
FLGDIR=/backup/mytest/flags
export GZDIR FINALDIR FLGDIR
#lists
FLGLIST="/mydumps/mytest/lists/userflgs.lst"
GZLIST="/mydumps/mytest/lists/gzfiles.lst"
export FLGLIST GZLIST
#Find files
find $FLGDIR -name \*.done -print > $FLGLIST
find $GZDIR -name \*.gz -print > $GZLIST
#Get need all (10) flags found before we do the move
FLG_VAL =`cat $FLGLIST | wc -l`
export $FLG_VAL
if [ "$FLG_VAL" = "10" ]; then
for FILE in $GZLIST
do
echo "mv $GZLIST $FINALDIR" 2>&1
for FLAG in $FLGLIST
do
echo "rmdir -f $FLAG" 2>&1
done
done
else
echo "Cannot move file" 2>&1
exit 0
fi