Суть какова:
Есть файловый сервер на Windows Server 2003й, с него делаются разносортные бекапы с помощью Cobian Backup, в том числе и на линуксовый сервер через ftp.
И всё бы хорошо, но одно задание (очень тяжёлое по объёму), копируется нормально, но не удаляется оттудова (ибо имя на русском). Не делаю архив с английским именем потому, что очень объём большой, а с этим глюки периодически возникают. Да и искать под "кеш" создаваемого архива 35 гигов чот не охота. Проще скопировать как есть. и пох.
В итоге приходится заходить и удалять ручками самый старый архив (а 35 гигов каждый день капает и капает, винчестеры-то не резиновые).
Решил автоматизировать это дело простеньким скриптом, дабы не парить себе мозг на тему, что "вдруг переполнится".
Вариант "переделать всё" ленив... проще написать костыль)))
В итоге делаем что:
1) считаем количество папок - переменная b
2) высчитываем разницу (текущее количество минус нужное количество) - переменная a
3) удаляем лишнее
Скрипт естественно засовываем в cron и он работает сам )))
Есть файловый сервер на Windows Server 2003й, с него делаются разносортные бекапы с помощью Cobian Backup, в том числе и на линуксовый сервер через ftp.
И всё бы хорошо, но одно задание (очень тяжёлое по объёму), копируется нормально, но не удаляется оттудова (ибо имя на русском). Не делаю архив с английским именем потому, что очень объём большой, а с этим глюки периодически возникают. Да и искать под "кеш" создаваемого архива 35 гигов чот не охота. Проще скопировать как есть. и пох.
В итоге приходится заходить и удалять ручками самый старый архив (а 35 гигов каждый день капает и капает, винчестеры-то не резиновые).
Решил автоматизировать это дело простеньким скриптом, дабы не парить себе мозг на тему, что "вдруг переполнится".
Вариант "переделать всё" ленив... проще написать костыль)))
В итоге делаем что:
1) считаем количество папок - переменная b
2) высчитываем разницу (текущее количество минус нужное количество) - переменная a
3) удаляем лишнее
#!bin/sh
cd /home/backup/ # переход в рабочую папку
b=$(ls | grep -c BACKUP) # считаем количество элементов, в имени которых встречается слово BACKUP
a=`expr $b - 5` # высчитываем разницу
if [ $a -gt 0 ] # задаём условие
then
rm -R $(ls | grep -m $a BACKUP) # удаляем первые "a" элементов (самые старые), в имени которых встречается слово BACKUP
fi# выход из if
Скрипт естественно засовываем в cron и он работает сам )))