Можно использовать lvm для этого. Это было разработано для разделения физического диска от логического диска.
С lvm Вы можете:
Добавьте свежий новый физический диск к пулу (названный Volume Group в терминологии LVM)
pvcreate/dev/sdb my_vg
Расширьте пространство логического тома
lvextend...
И закончите с онлайн, изменяют размер Вашей файловой системы
e2resize/mnt/my/path
Но остерегайтесь, это не чудодейственное средство. Это намного больше тяжелее для сокращения файловой системы, даже с LVM.
Один файл/счетчик на страну.
#!/bin/bash
#Country name is specified as a comamnd line argument
# ie device_count.sh Brazil
if [[ -z "$1" ]] ; then
echo "Please specify country name" >&2
exit 1
fi
#Create a new file per country if one doesn't exist already
COUNTER_FILE=/var/tmp/devices.$1
if [[ -r $COUNTER_FILE ]] ; then
COUNT=$(<$COUNTER_FILE)
else
COUNT=0
fi
#Increment counter and save to file
echo $(( $COUNT += 1 )) > $COUNTER_FILE
#check if we need to send email
if [[ $(( $COUNT % 10 )) -eq 0 ]] ; then
#We have reached 10 - we need to send an email
echo "BLAH BLAH BLAH " | mailx -s "reached 10" you@domain.com
fi
Необходимо записать количества страны в файл перед выходом из сценария как из последней вещи. В следующий раз, когда Вы запускаете свой скрипт, необходимо считать эти значения из того же файла. Иначе Вы не можете сохранить значения в переменных памяти как каждый сценарий оболочки, который Вы выполняете, выполняет подоболочку с ее собственными переменными и уничтожает оболочку и содержание, когда это выходит.
x="$country"
count=$(cat ${country})
#instead of starting from 0 each time, start from the content of this file
#you need to manually create each country file with value 0 in it
#before start using this struct.
for device_count in $x
do
count=expr $count + 1
echo "Country_[$device_count] count $count"
if [ count -eq 5 ];
then
echo "email to be sent "
fi
done
echo ${count} > ${country}
#at this point you overwrote the file named as
#the name of country you are working here
expr $count + 1
повторите "Страну _[$device_count] $count количества", если [считают-eq 5]; затем повторите "электронную почту, которая будет отправлена" fi сделанные
– user28104
30.11.2012, 19:35