Как реализовать удаления файлов по дате?
Правила форума
Убедительная просьба юзать теги [code] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.
Убедительная просьба юзать теги [code] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.
-
- рядовой
- Сообщения: 19
- Зарегистрирован: 2009-07-09 21:10:54
Как реализовать удаления файлов по дате?
Всем привет.
Есть ежедневные бекапы базы mysql которые ложатся в отдельну папку и имею вид:
01-09-2009.tar.gz
02-09-2009.tar.gz
03-09-2009.tar.gz
...
31-09-2009.tar.gz
01-10-2009.tar.gz
Как реализовать удаление файлов старше 31 дня ?
Тоесть чтобы файликов всегда ровно оставалось в папке не больше 31-го.
Нада взять текущую дату и приравнять ее к дате создания каждого файлика,
если разница больше 31 - такой файлик удалить без потверждения.
в perle и shelle не силен, прошу помощи.
Есть ежедневные бекапы базы mysql которые ложатся в отдельну папку и имею вид:
01-09-2009.tar.gz
02-09-2009.tar.gz
03-09-2009.tar.gz
...
31-09-2009.tar.gz
01-10-2009.tar.gz
Как реализовать удаление файлов старше 31 дня ?
Тоесть чтобы файликов всегда ровно оставалось в папке не больше 31-го.
Нада взять текущую дату и приравнять ее к дате создания каждого файлика,
если разница больше 31 - такой файлик удалить без потверждения.
в perle и shelle не силен, прошу помощи.
Услуги хостинговой компании Host-Food.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/
Тарифы на виртуальные сервера (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/
-
- проходил мимо
- Сообщения: 11620
- Зарегистрирован: 2008-02-21 18:15:41
Re: Как реализовать удаления файлов по дате?
Код: Выделить всё
rm `date сдесьформатдаты`*
- RusBiT
- лейтенант
- Сообщения: 635
- Зарегистрирован: 2007-08-03 11:43:53
- Откуда: Красноярск
- Контактная информация:
Re: Как реализовать удаления файлов по дате?
Попробуй при помощи find, что то типа
Код: Выделить всё
find /var/backup/ -mtime +31 -print -delete
Чем больше я познаю FreeBSD, тем больше я считаю себя ламером
-
- полковник
- Сообщения: 5845
- Зарегистрирован: 2007-12-07 13:51:33
- Откуда: Верх-Нейвинск
Re: Как реализовать удаления файлов по дате?
я бы не поленился и перевёл все бэкапы в формат ГГГГ-ММ-ДД.tar.gz, потом сортировал список по имени и удалял все файлы, которые идут после 31 файла в списке.
-
- полковник
- Сообщения: 5845
- Зарегистрирован: 2007-12-07 13:51:33
- Откуда: Верх-Нейвинск
Re: Как реализовать удаления файлов по дате?
Вообще, вот как выглядит у меня файл для резервного копирования
Код: Выделить всё
#!/bin/sh
cd `dirname $0`
## Текущая дата
d=`date +%Y-%m-%d`
## Дампим и архивируем
tar -cjf ${d}-docs.tar.bz2 -C../docs/ .
mysqldump -u buhgalter --password='****' -h ***.**.**.18 superfin | bzip2 > ${d}-db.sql.bz2
## Удаялем старые архивы (оставляя 4 последних)
find . -name \*docs.tar.bz2 -depth 1 | sort -r | sed 1,4d | xargs rm
find . -name \*db.sql.bz2 -depth 1 | sort -r | sed 1,4d | xargs rm
-
- рядовой
- Сообщения: 19
- Зарегистрирован: 2009-07-09 21:10:54
Re: Как реализовать удаления файлов по дате?
Спасиба за пример
Все отличненько работает, перевод архивов в формат ГГГГ-ММ-ДД.tar.gz не потребовался.
Все отличненько работает, перевод архивов в формат ГГГГ-ММ-ДД.tar.gz не потребовался.
- Laa
- ст. лейтенант
- Сообщения: 1032
- Зарегистрирован: 2008-02-21 18:25:33
- Откуда: Украина, Россия
Re: Как реализовать удаления файлов по дате?
+1 -- это наиболее простой способ.RusBiT писал(а):Попробуй при помощи find, что то типаКод: Выделить всё
find /var/backup/ -mtime +31 -print -delete
Сортировку ГГГГ-ММ-ДД.tar.gz вы вспомните с декабря по январь, если конечно будете в это время заглядывать в бэкапы.
exim: помните, что выдавая deny, вы можете недоставить ваше же письмо, зарубив sender-verify удаленного MTA к вашему MTA!!!
-
- полковник
- Сообщения: 5845
- Зарегистрирован: 2007-12-07 13:51:33
- Откуда: Верх-Нейвинск
Re: Как реализовать удаления файлов по дате?
поясни?Laa писал(а):Сортировку ГГГГ-ММ-ДД.tar.gz вы вспомните с декабря по январь
- Alex Keda
- стреляли...
- Сообщения: 35454
- Зарегистрирован: 2004-10-18 14:25:19
- Откуда: Made in USSR
- Контактная информация:
Re: Как реализовать удаления файлов по дате?
действительно - чё с сортировкой не так будет?
========
a про find - согласен - самый простой и правильный
========
a про find - согласен - самый простой и правильный
Убей их всех! Бог потом рассортирует...
-
- полковник
- Сообщения: 5845
- Зарегистрирован: 2007-12-07 13:51:33
- Откуда: Верх-Нейвинск
Re: Как реализовать удаления файлов по дате?
прикол в том, что find основывается на дате и системном времени, а не на количестве файлов. И если слетит время или по какой-то причине перестанут создаваться архивы, то либо сразу, либо через некоторое время все имеющиеся файлы архивов будут удалены.lissyara писал(а):a про find - согласен - самый простой и правильный
- Alex Keda
- стреляли...
- Сообщения: 35454
- Зарегистрирован: 2004-10-18 14:25:19
- Откуда: Made in USSR
- Контактная информация:
Re: Как реализовать удаления файлов по дате?
ну, батенько, на этот случай есть системный администратор, работа кторого смотреть чтоб всё работало +)))
Убей их всех! Бог потом рассортирует...