![]() |
Модераторы: skyboy |
![]() ![]() ![]() |
|
Nicholas |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 436 Регистрация: 30.9.2004 Репутация: нет Всего: 0 |
У меня каждый день делаются бекапы баз данных, потом они упаковываются и копируются в хранилище где и лежат всей кучей.
Надо сделать так чтобы при каждой архивации скрипт находил всей файлы в каталоге и в зависимости от даты создания (она указана в имени файла) удалял файлы которые хранятся больше месяца. Честно говоря с SQL я не дружу, поэтому буду рад готовому скрипту в котором нужно сделать небольшие доработки. ![]() Это сообщение отредактировал(а) Nicholas - 31.10.2013, 05:17 |
|||
|
||||
Akina |
|
|||
Советчик ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 20581 Регистрация: 8.4.2004 Где: Зеленоград Репутация: 45 Всего: 454 |
![]() -------------------- О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума. |
|||
|
||||
Nicholas |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 436 Регистрация: 30.9.2004 Репутация: нет Всего: 0 |
При том, что бекап и архивация у меня на скрипте SQL написана, хочу добавить удаление старья.
вот сюда:
Это сообщение отредактировал(а) Nicholas - 31.10.2013, 07:40 |
|||
|
||||
Akina |
|
|||
Советчик ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 20581 Регистрация: 8.4.2004 Где: Зеленоград Репутация: 45 Всего: 454 |
Создайте стандартный план обслуживания БД - там есть в т.ч. и пункт удаления файлов старше указанного возраста.
-------------------- О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума. |
|||
|
||||
Nicholas |
|
||||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 436 Регистрация: 30.9.2004 Репутация: нет Всего: 0 |
Не видел я там такого, подскажи где. Короче сделал проще, для меня проще. Т.к. все файлы лежат в одной директории, то просто удаляю все у которых в имени старше двух месяцев дата указана.
Это сообщение отредактировал(а) Nicholas - 1.11.2013, 10:00 |
||||
|
|||||
Akina |
|
|||
Советчик ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 20581 Регистрация: 8.4.2004 Где: Зеленоград Репутация: 45 Всего: 454 |
-------------------- О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума. |
|||
|
||||
Nicholas |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 436 Регистрация: 30.9.2004 Репутация: нет Всего: 0 |
А ну там удаляет файлы бекапа которые sql делает,а у меня то архивы лежат на сетевом хранилище...
|
|||
|
||||
Akina |
|
|||
Советчик ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 20581 Регистрация: 8.4.2004 Где: Зеленоград Репутация: 45 Всего: 454 |
Ты всё ещё не дошёл до простой мысли, что твои архивы, валяющиеся в файловой системе две недели, уже вообще никаким боком не привязаны к SQL-серверу?
Удаляй их планировщиком ОС в рамках стандартного еженедельного обслуживания дисковой подсистемы сервера. -------------------- О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума. |
|||
|
||||
Nicholas |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 436 Регистрация: 30.9.2004 Репутация: нет Всего: 0 |
Сейчас уже дошел... ![]() ![]() Но это не показатель, в общем все,что мне нужно это определить дату создания (не модификации) файла. Вопрос как это сделать, НЕ по имени, а прочитав свойства файла? Список файлов я получаю вот так, удалить тоже не проблема через xp_cmdshell, вопрос только в дате, помогите может кто знает, на всех форумах твердят одно причем тут sql да не причем, просто я так хочу вот и все.
Это сообщение отредактировал(а) Nicholas - 6.5.2015, 06:31 |
|||
|
||||
Nicholas |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 436 Регистрация: 30.9.2004 Репутация: нет Всего: 0 |
В общем так...
У меня бекапятся базы, каждая в свой каталог и в имени файла у всех дата, добавил код в процедуру бекапа и теперь каждый раз после создания нового, sql проверяет есть ли файлы старше 10 дней, если есть удаляет.
Надо в этот код еще добавить проверку на существование свежих файлов, перед удаление старых и будет нормально... Это сообщение отредактировал(а) Nicholas - 7.5.2015, 03:32 |
|||
|
||||
Akina |
|
|||
Советчик ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 20581 Регистрация: 8.4.2004 Где: Зеленоград Репутация: 45 Всего: 454 |
Ну почему надо делать непременно через задницу? Напиши ты простейший VBS-скрипт, который выполняет поставленную задачу! а его уже, если прёт, запускай из SQL-процедуры.
-------------------- О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума. |
|||
|
||||
Nicholas |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 436 Регистрация: 30.9.2004 Репутация: нет Всего: 0 |
vbs для меня китайская грамота, проще в sql разобраться. и почему через зад не понятно, что плохого в этом коде?
|
|||
|
||||
Akina |
|
|||
Советчик ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 20581 Регистрация: 8.4.2004 Где: Зеленоград Репутация: 45 Всего: 454 |
Ну как тебе сказать... Вот есть задача. Всегда найдётся инструмент, предназначенный для решения этой задачи. Или по крайней мере наилучшим образом подходящий для её решения. И есть куча инструментов, которые хоть и не предназначены, но тем не менее помогут её хоть как-то решить. Ну классические примеры - гвозди и микроском, королевская печать и орехи... Так вот в данном случае ты берёшь не предназначенный для этой задачи инструмент, а именно какой попался под руку. Просто потому, что ты с ним больше знаком. Вот тот самый случай, когда биолог забивает гвозди микроскопом, потому как тот ему более родной, чем молоток. Ну напиши на любом другом языке программирования, какой для тебя не китайская грамота. Хотя, если честно, то написание VBS-кода для ТАКОЙ задачи - совершенно элементарная вещь.
Добавлено через 13 минут и 20 секунд PS. Не клади сам скрипт в папку архивов - а то через месяц он сам себя удалит... -------------------- О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума. |
|||
|
||||
Nicholas |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 436 Регистрация: 30.9.2004 Репутация: нет Всего: 0 |
Akina, а как сделать перебор еще и по подпапкам внутри указанной?
|
|||
|
||||
Akina |
|
|||
Советчик ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 20581 Регистрация: 8.4.2004 Где: Зеленоград Репутация: 45 Всего: 454 |
Оформить приведённый код как процедуру-1, принимающую каталог для удаления файлов.
По аналогии написать код процедуры-2, который не только вызывает процедуру-1 для текущего каталога, но и получает список подкаталогов текущего каталога и вызывает себя для каждого из них рекурсивно. В основной процедуре вызывать процедуру-2 для начального каталога. -------------------- О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума. |
|||
|
||||
![]() ![]() ![]() |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Составление SQL-запросов | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |