September 23, 2008 thumb membatasi size folder

Assalamu’alaikum.
membatasi size folder pakai shell script, itu sih gampang-gampang susah, aku sudah coba beberapa kali dan gagalnya juga berkali-kali, namun akhirnya selesai juga.

=====================================================================
if [ -z $3 ];
then
$3= $(pwd)
fi;
ls -Rs $3 | grep total | cut -c 7- | cat > sumber
cat -n sumber | tail -1 | cut -f1 > sumber2
cat sumber2
cat sumber
x=1
while [ $x -ne 8 ]
do
char=$(cut -c $x sumber2 )
if [[ $char != ” ” ]] ;
then
loop=$(cut -c $x-7 sumber2)
break
fi;
x=$[ $x + 1 ]
done
sum=0
while [ $loop -ge 1 ]
do
mum=$(tail -$loop sumber | head -1)
loop=$[ $loop-1 ]
sum=$[ $sum + $mum]
done
ls -s $2 > sumber
x=1
while [ $x -ne 10 ]
do

char=$(cut -c $x sumber )

if [[ $char = ” ” ]] ;
then
x=$[ $x-1 ]
kapas=$(cut -c -$x sumber)

break
fi;
x=$[ $x + 1 ]
done
echo “nilai SUM : $sum”
echo “nilai FILE : $kapas”
echo “nilai MAX : $1”
if [ $[ $sum + $kapas ] -gt $1 ];
then
echo “kagak Muat ??”
exit 0
fi;
cp $2 $3
rm sumber sumber2
exit 0
====================================================================
skenarionya begini, user pingin mencopy sebuah file ke suatu folder terus folder dibatasi dengan kapasitas tertentu kalo sudah melebihi kapasitas yang ditetapkan maka folder gak bisa di isi file lagi, sederhanakan….. ;->
cara jalaninya tinggal chmod aja di shell, aku simpan namanya aku.sh
huda@huda $ chmod 777 aku.sh
huda@huda $ ./aku.sh 1235 ikan.txt folderku/
1235 : maksudnya kapasitas foldernya
ikan.txt : itu nama file yang akan di copy ke folder folderku
folderku : nama folder yang akan diisi.
untuk kasusku hasilnya begini
nilai SUM : 1234
nilai FILE : 4
nilai MAX : 1235
kagak muat ??
huda@huda $

karena sudah tidak muat jadi file ikan.txt tidak dikopi ke folderku.

Comments

total comments