2016-06-17 7 views
0

Я пытаюсь написать скрипт, чтобы проверить, существует ли каталог и имеет ли он размер файла. До сих пор мне удалось получить проверку каталога, но у меня не было большой проверки удачи по размеру.Linux - проверка каталога

BASEDIR должен быть 8GB и 4GB WORKDIR

#!/bin/sh 
BASEDIR=/opt/app 
WORKDIR=$BASEDIR/program/work 

if [[ -d "${BASEDIR}" && ! -L "${BASEDIR}" ]] ; then 
    echo "Confirmed ${BASEDIR}" 
fi 

if [[ -d "${WORKDIR}" && ! -L "${WORKDIR}" ]] ; then 
    echo "Confirmed ${WORKDIR}" 
fi 

R,

+0

Посмотрите man-страницу для 'du'. – 123

+0

Лучшая формулировка будет «доступным пространством» вместо «размера файла», если вы выполните 'ls -l $ WORKDIR', он покажет вам размер и может быть большим, если там/было много файлов –

+0

@ Ricardo A: Вы должны сообщить людям, работают ли предоставленные решения или нет, чтобы помочь вам, а затем закрыть тему – Inian

ответ

0

Я предполагаю, что вы хотите, чтобы обеспечить 8G (4G) свободного пространства доступно в выбранной директории, не то, что ему уже заполнен файлами размером 8G (4G). (См. Ответ Иниана для последнего случая).

Вы можете использовать df, чтобы вернуть доступное пространство для данной папки.

avail = `df "$BASEDIR" -k --output=avail | tail -1` 
if (($avail >= 8*1024*1024)); then echo "Good"; else echo "Not Good"; fi