The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

форумы  помощь  поиск  регистрация  майллист  вход/выход  слежка  RSS
"Скрипт удаления старого архива, названного по дате"
Вариант для распечатки  
Пред. тема | След. тема 
Форумы OpenNET: Виртуальная конференция (Public)
Изначальное сообщение [ Отслеживать ]

"Скрипт удаления старого архива, названного по дате"  
Сообщение от Im27th (ok) on 06-Мрт-08, 09:20 
Пришёл я тут на новую работу. У них там база на SLES9 архивируется следующим скриптом:

/etc/rc.d/basa stop останавливаем базу
NOW=$(date +"%Y%m%d") задаём параметр для имени архива
cd /arc переходим в директорию со старым архивом
rm * удаляем старый архив
cd /basa переходим в директорию с базой
tar cvzf /basa/$NOW.tgz создаём архив
/etc/rc.d/basa start запускаем базу

Архив запускается кроном раз в неделю. После всего этого остаётся архив типа 20080305.tgz
Не нравится мне, что старый архив стирается того, как сделается новый.
Но если я сначала создам новый, то как мне потом стереть старый? Надо придумать какую-нибудь хрень типа
OLD=$(date +"%Y%m%d") - 14
чтобы удалялся архив 2-недельной давности, а недельной и новый оставались. Но надо же текст перевести в число, а как это корректно написать не понимаю пока. Я с unixом давно не работал.

fsbackup не предлагать (миллион смайликов)

Высказать мнение | Ответить | Правка | Cообщить модератору

 Оглавление

Сообщения по теме [Сортировка по времени | RSS]


1. "Скрипт удаления старого архива, названного по дате"  
Сообщение от dimao (ok) on 06-Мрт-08, 10:11 
>[оверквотинг удален]
>20080305.tgz
>Не нравится мне, что старый архив стирается того, как сделается новый.
>Но если я сначала создам новый, то как мне потом стереть старый?
>Надо придумать какую-нибудь хрень типа
>OLD=$(date +"%Y%m%d") - 14
>чтобы удалялся архив 2-недельной давности, а недельной и новый оставались. Но надо
>же текст перевести в число, а как это корректно написать не
>понимаю пока. Я с unixом давно не работал.
>
>fsbackup не предлагать (миллион смайликов)

Попробуй что нибудь типа:
for f in `ls`
do
.....
done;

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

2. "Скрипт удаления старого архива, названного по дате"  
Сообщение от Nimdar (ok) on 06-Мрт-08, 11:10 
>[оверквотинг удален]
>20080305.tgz
>Не нравится мне, что старый архив стирается того, как сделается новый.
>Но если я сначала создам новый, то как мне потом стереть старый?
>Надо придумать какую-нибудь хрень типа
>OLD=$(date +"%Y%m%d") - 14
>чтобы удалялся архив 2-недельной давности, а недельной и новый оставались. Но надо
>же текст перевести в число, а как это корректно написать не
>понимаю пока. Я с unixом давно не работал.
>
>fsbackup не предлагать (миллион смайликов)

man find
find /arc -mtime +14

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

3. "Скрипт удаления старого архива, названного по дате"  
Сообщение от Im27th (??) on 06-Мрт-08, 11:45 
Про -mtime +14 мне понравилось, но я уже сделал следующим образом:
-----------------------------------
NOW=$(date +"%j")
OLD=$(echo "$NOW-14" | bc -l)
tar cvzf /basa/$NOW.tgz sig
rm /arc/$OLD.tgz
-----------------------------------
Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

Архив | Удалить

Индекс форумов | Темы | Пред. тема | След. тема
Оцените тред (1=ужас, 5=супер)? [ 1 | 2 | 3 | 4 | 5 ] [Рекомендовать для помещения в FAQ]




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру