![]() |
|
Модераторы: LSD, AntonSaburov |
![]()
|
|
| ne100r |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 5 Регистрация: 23.5.2006 Репутация: нет Всего: нет |
У меня есть некий скрипт для создания бекапов.
Каждый раз он создает папку с неймом которий содержит дату бекапа (тобиш можна сортить как по дате создания фолдера так и по названию фолдера). Но тут возникла проблема бекапи стали занимать слишком много места. И понадобилось удалять очень старые бекапы. Хотелось бы автоматизировать етот процес, скажем удалять все бекапи кроме 3 последних. Знаю, что можна написать жава класик как таск для АНТа, которий будет ето делать. Но мне би хотелось узнать более "красивое" решение (не виходя из стандартной функцыональности АНТа). Тем более, я уверен, что не я первий, кто столкнулся с етой проблемой, что таких много, и для уже должно бить готовое решение. Подскажи, пожалуйста, кто сталкивался с такой проблемой или просто знает решение. Буду рад любим советам. |
|||
|
||||
| tux |
|
|||
![]() Летатель ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1853 Регистрация: 10.2.2005 Где: msk.ru Репутация: 11 Всего: 132 |
Вот похожая проблема: http://forum.vingrad.ru/index.php?showtopic=70012.
|
|||
|
||||
| ne100r |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 5 Регистрация: 23.5.2006 Репутация: нет Всего: нет |
Посмотрел на проблему виделение по дате.
Но у меня нет такой равномерности как у лог файлов. Мои бекапи могут не создаватся по несколько дней, но могут и по 5 раз на день создаватся. Мне бы просто удерживать их количество. Скажем 3. Тобиш при создании нового бекапа (если там уже есть 3 бекапа), то просто удалить из них самый старий. Создать новий бекап, ну и потом будет опять 3 бекапа. |
|||
|
||||
| tux |
|
|||
![]() Летатель ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1853 Регистрация: 10.2.2005 Где: msk.ru Репутация: 11 Всего: 132 |
Тогда можно использовать скрипты следующим образом:
Нужны библиотеки BeanShell и Apache BSF. В вызове clean-backups dir - каталог, в котором будут удаляться бэкапы, count - количество неудаляемых. |
|||
|
||||
| ne100r |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 5 Регистрация: 23.5.2006 Репутация: нет Всего: нет |
СИЛЬНО !!! Я заценил. Большое спасибо. я и не знал о такой возможности, вписывать код.
Спасибо за то что не жалко било сил что-б набить такой код. Вот правда теперь задачка: Что лекче написать свой таск или использовать BeanShell и Apache BSF ? :-) СПАСИБО. |
|||
|
||||
| tux |
|
|||
![]() Летатель ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1853 Регистрация: 10.2.2005 Где: msk.ru Репутация: 11 Всего: 132 |
У определения задач на BeanShell есть и достоинства и недостатки. Кстати, BeanShell дело не ограничивается, можно писать еще на Javascript, Python, Tcl, NetRexx, XSLT, Ruby, JudoScript, Groovy, ObjectScript. Так вот, недостаток - BeanShell сложно отлаживать. В принципе можно, конечно, написать просто на Java, потом закинуть результат в скрипт Ant. Но в общем случае, способ подходит для небольших задач, если нужно что-то несложное (например, удаление бэкапов). Достоинство - предположим, нужно приложение распространять среди клиентов. Тогда если задачи определены на BeanShell, можно просто передать скрипт и все, если писать свой таск, то придется распространять еще и библиотеку с таском. |
|||
|
||||
| jimur |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 73 Регистрация: 21.4.2006 Репутация: нет Всего: 3 |
эта задача решается намного проще
да, если нужно держать 100 бэкапов, то лучше применить скриптовый язык, но для простых/реальных задач анта достаточно. |
|||
|
||||
| ne100r |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 5 Регистрация: 23.5.2006 Репутация: нет Всего: нет |
Тоже интересный вариант. Идея мне понравилась. Мне не подходит, но за оригинальную идею ЗАЧЕТ!
|
|||
|
||||
![]()
|
| Правила форума "Java" | |
|
|
Если Вам помогли, и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, LSD, AntonSaburov, powerOn, tux. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Java tools & IDE's | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |