Сортировка

Программирование на sh, быть может немного про альтернативные языки
Правила форума
Убедительная просьба юзать теги [code] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.
icb
лейтенант
Сообщения: 751
Зарегистрирован: 2008-07-15 16:11:11

Сортировка

Непрочитанное сообщение icb » 2008-11-17 16:32:37

Есть скрипт создающий бекапы. Хотелось бы прикрутить автоудаление (т.е. чтобы всегда было в наличии например 5 последних бекапов).
Как отсортировать полученные по ls каталоги (чтобы потом получить имя самого древнего для удаления)?
Последний раз редактировалось icb 2008-11-17 17:30:49, всего редактировалось 1 раз.

Хостинговая компания Host-Food.ru
Хостинг HostFood.ru
 

Услуги хостинговой компании Host-Food.ru

Хостинг HostFood.ru

Тарифы на хостинг в России, от 12 рублей: https://www.host-food.ru/tariffs/hosting/
Тарифы на виртуальные сервера (VPS/VDS/KVM) в РФ, от 189 руб.: https://www.host-food.ru/tariffs/virtualny-server-vps/
Выделенные сервера, Россия, Москва, от 2000 рублей (HP Proliant G5, Intel Xeon E5430 (2.66GHz, Quad-Core, 12Mb), 8Gb RAM, 2x300Gb SAS HDD, P400i, 512Mb, BBU):
https://www.host-food.ru/tariffs/vydelennyi-server-ds/
Недорогие домены в популярных зонах: https://www.host-food.ru/domains/

Yam
сержант
Сообщения: 226
Зарегистрирован: 2008-10-11 19:19:24
Откуда: 2:5093/41

Re: Сортровка

Непрочитанное сообщение Yam » 2008-11-17 16:42:25

Если имя каталога задаётся шаблоном и включает в себя дату, то просто ls | sort

zg
полковник
Сообщения: 5845
Зарегистрирован: 2007-12-07 13:51:33
Откуда: Верх-Нейвинск

Re: Сортровка

Непрочитанное сообщение zg » 2008-11-17 17:14:53

Примерно так :smile:

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

#!/bin/sh
cd /usr/local/mysql/data
d=`/bin/date "+%Y-%m-%d"`
/usr/bin/tar -cjf /usr/local/db_backup/db.$d.tar.bz2 mydb

for i in `/bin/ls -1 /usr/local/db_backup/db.** | /usr/bin/sort -r | /usr/bin/awk '{if (++i>4)print $0}'`
do
        echo $i
        rm $i
done

Аватара пользователя
dikens3
подполковник
Сообщения: 4856
Зарегистрирован: 2006-09-06 16:24:08
Откуда: Нижний Новгород
Контактная информация:

Re: Сортировка

Непрочитанное сообщение dikens3 » 2008-11-17 18:06:43

http://www.lissyara.su/?id=1791

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

# delete files oldest 30 days
0  22 * * * find /shares/trash -type f -mtime +30 -exec rm {} \;
# delete empty dirs
30 23 * * * find /shares/trash -type d -mtime +30 -exec rmdir {} \; >/dev/null 2>&1
Вот пример удаления файлов и директорий старше 30 дней. Остальное думаю осилите сами.
Лучше установить FreeBSD, чем потратить 30 лет на Linux'ы и выяснить какой из них хуже.

zg
полковник
Сообщения: 5845
Зарегистрирован: 2007-12-07 13:51:33
Откуда: Верх-Нейвинск

Re: Сортировка

Непрочитанное сообщение zg » 2008-11-17 18:19:42

dikens3 писал(а):старше 30 дней. Остальное думаю осилите сами.
если у тебя будут тридцать бекапов за один день, а после этого скрипт архивации полетит, сколько бекапов будет храниться в течении месяца и сколько после?