2016-06-17 53 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

檢查'du'的手冊頁。 – 123

+0

更好的措辭應該是「可用空間」而不是「文件大小」,如果你做了'ls -l $ WORKDIR',它會顯示你的尺寸,如果有/有許多文件可能會很大 –

+0

@Ricardo答:您需要讓人們知道提供的解決方案是否有效,以幫助您並隨後關閉該主題 – Inian

回答

0

我假設你想確保8G(4G)的自由空間是在所選擇的目錄中,而不是它已經安裝了8G(4G)價值的文件。 (見Inian對後一種情況的回答)。

您可以使用df返回給定文件夾的可用空間。

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