#!/bin/sh # Если заполнение ФС больше 80% начинаем работать occuped_space=80 work_dir="/mnt/backupdata/Backup" # Получаем заполненный объем пространства get_occuped_space() { perc_numb=`df -h | grep backup | awk '{print $5}'` ret_val=`echo $perc_numb | cut -c1-2` return $ret_val } # Цикл удаления по одному самому старому файлу из всех каталогов clear_one() { echo "Clearing one!" cd $work_dir dirs="ats_upr1" # for i in `ls -1` for i in $dirs do fd=`ls -1 -rt $i/ | head -n 1` echo "Deleting $i/$fd" rm $i/$fd done sync sleep 17 } get_occuped_space cur_occuped=$? # Удаляем до тех пор, пока объем не достигнет заданного while [ "$cur_occuped" -gt "$occuped_space" ] do clear_one get_occuped_space cur_occuped=$? echo "cur_occuped: $cur_occuped" done