Страница 1 из 1

кто поможет с простеньким bash-cкриптом, плиз!

Добавлено: 25.05.2014 17:49
Гость
мне нужно чтоб сей скриптик (который я запущу ежечасно по cron-джобу) проверял размер папки куда постоянно пишутся новые файлы. Если размер папки превысил некую границу X (mb), то удаляй САМЫЕ СТАРЫЕ файлы в папке, пока она не вернётся в размер меньший X!

На бэше почти не пишу, поэтому обращаюсь за помощью!

Re: кто поможет с простеньким bash-cкриптом, плиз!

Добавлено: 25.05.2014 20:01
Гость
120$/H

Re: кто поможет с простеньким bash-cкриптом, плиз!

Добавлено: 26.05.2014 08:53
sena
Гость писал(а):мне нужно чтоб сей скриптик (который я запущу ежечасно по cron-джобу) проверял размер папки куда постоянно пишутся новые файлы. Если размер папки превысил некую границу X (mb), то удаляй САМЫЕ СТАРЫЕ файлы в папке, пока она не вернётся в размер меньший X!

На бэше почти не пишу, поэтому обращаюсь за помощью!
man bash, там немного...

Re: кто поможет с простеньким bash-cкриптом, плиз!

Добавлено: 26.05.2014 15:22
Гость
как-то так, да?

Код: Выделить всё

#! /bin/bash
cMyLmt=2000;
int zwSum=0;
#cMyLimit=2000;
for i in $(ls  -t | grep -v total)
do
 # myfil=$(ls -l -s $i | grep -v total);
 #echo $myfil;
  zwSum=$(($zwSum+$(ls -s $i | grep -v total |  awk '{print $1}')));
  echo 'zwSum=' $zwSum;
  if [ $zwSum -gt $cMyLmt ]
  then
    #prowerka:   echo 'rm -v ' $i;
    rm -v $i;
  fi;
done;

Re: кто поможет с простеньким bash-cкриптом, плиз!

Добавлено: 02.06.2014 15:06
tester
#!/bin/sh

limit=20;
while [ 1 ];
do
size=$(du -s|awk '{print $1}');
if [ $size -gt $limit ]
then
ls -t | head -1 | xargs -d '\n' rm;
else
break;
fi
done

Re: кто поможет с простеньким bash-cкриптом, плиз!

Добавлено: 12.07.2014 23:08
Гость
можно еще find воткнуть тогда и в поддиректориях чистить будет
tester писал(а):#!/bin/sh

limit=20;
while [ 1 ];
do
size=$(du -s|awk '{print $1}');
if [ $size -gt $limit ]
then
ls -t | head -1 | xargs -d '\n' rm;
else
break;
fi
done