LINUX.ORG.RU
ФорумAdmin

Скрипт проверки свободного места! и Удаление файлов если диск переполнен.

 , ,


0

2

Все Привет!.

Ситуация такая есть скрип для резервного копирования.! Script.sh

tar -czf BackupALL_myVPS_`date "+%Y-%m-%d"`.tar.gz 

файлы формируются в таком виде

BackupALL_myVPS_2017-08-16.tar.gz

Как реализовать что-бы скрипт проверял свободное место на диске, в случае если диск заполнен больше чем на 80% значит удалять самый старый фаил.


что-бы скрипт проверял свободное место на диске

df | grep /dev/нужный_диск | awk '{print $5}'

удалять самый старый фаил.

ls -t BackupALL_myVPS_????-??-??.tar.gz | tail -n1
aureliano15 ★★
()

Направление тебе показали, за остальным - в /job/.

anonymous
()
Ответ на: комментарий от shrmvl

командой

гугли как писать bash скрипты, это не займет много времени

Dred ★★★★★
()

Наверное, как-то так.

file=`ls -t путь/BackupALL_myVPS_????-??-??.tar.gz | tail -n1`
count=`df | grep /dev/диск | awk '{print $5}' | sed '{s/.$//;}'`
min=80

if [ $count -ge $min ]
then
   rm $file
fi
sadsew
()

Дядя, он тебе ядро удалит.

xoraby
()
Ответ на: комментарий от aureliano15

Чтобы поля не считать.

--output[=FIELD_LIST]
              use the output format defined by FIELD_LIST, or print all fields if FIELD_LIST is omitted.

FIELD_LIST is a comma-separated list of columns to be included.  Valid  field  names  are:  'source',  'fstype',  'itotal', 'iused', 'iavail', 'ipcent', 'size', 'used', 'avail', 'pcent', 'file' and 'target' (see info page).

Radjah ★★★★★
()
Ответ на: комментарий от Radjah

--output[=FIELD_LIST]

Спасибо за информацию. Хотя в данном случае, боюсь, эта опция не поможет, т. к. перед выводом только 5-ого поля (ipcent) команды df нам надо отфильтровать нужную строку по имени диска. Т. е. команда получится такой:

df --output=source,ipcent | grep /dev/диск | awk '{print $2}' | tr -d '%'
aureliano15 ★★
()

tmpwatch простая утилита для удаления старых файлов.

Bootmen ☆☆☆
()
Ответ на: комментарий от Radjah

RE: Чтобы поля не считать

Большое спасибо, добрый человек Radjah!

Теперь хочется переписать все скрипты, где есть df…

LeNiN ★★
()
Ответ на: комментарий от Radjah

awk '/диск/{print $2}'

Ещё раз спасибо за инфу. Не знал, что awk умеет фильтровать такие /регулярки/. Надо будет ещё раз почитать про эту утилиту.

aureliano15 ★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.