Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Windows [игнор отключен] [закрыт для гостей] / удаление старых файлов / 10 сообщений из 10, страница 1 из 1
16.11.2014, 18:18
    #38807607
нуб987
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
удаление старых файлов
подскажите плз, с помощью каких команд можно удалить старые файлы?
Суть такая: СКЛ-сервер раз в 2 часа делает разностные бекапы одной из баз и складывает в папку.
Имя файлов такое: DBName_YYYYMMDDhhmm_diff.bak
Нужно удалять файлы старее 2-х суток, но оставлять более новые.

Вот чем это все можно сделать?
...
Рейтинг: 0 / 0
16.11.2014, 18:56
    #38807618
Dimitry Sibiryakov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
удаление старых файлов
нуб987Вот чем это все можно сделать?
Вот средствами СКЛ-сервера это и делается. RTFM Maintenance Cleanup Task.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
16.11.2014, 21:16
    #38807668
нуб987
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
удаление старых файлов
Dimitry Sibiryakov, в 2000-м СКЛе этого нет
обычный план (с зачисткой) делает только полный бекап. А диф.бекапы делаются вручную без возможности удаления старых.
...
Рейтинг: 0 / 0
17.11.2014, 02:52
    #38807750
DarkMaster
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
удаление старых файлов
нуб987,

FORFILES такое умеет.
...
Рейтинг: 0 / 0
21.12.2014, 02:01
    #38838873
нуб987
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
удаление старых файлов
DarkMasterнуб987,

FORFILES такое умеет.
спасибо. Интересная фича, не знал о ней. А как возвращаемые ею имена файлов сунуть в del?

ПС. пока на СКЛ написал такой скрипт:
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
declare
   @d datetime, -- даты для цикла удаления старых бекапов
   @sdt varchar(8), -- string datetime, YYYYMMDD
   @fn varchar(1000) -- filename

set @d = GetDate() - 2 -- оставляем файлы за последние 2-е суток (смотрим только на дату, НЕ на время)
while @d > GetDate() - 10 -- чистим на 10 суток назад
   begin
   set @sdt = convert(varchar(10), @d, 112) -- дата в текстовом формате YYYYMMDD
   set @fn = N'del <путь>\DBName_db_' + @sdt + '*_diff.BAK' -- создаем МАСКУ для удаления
   exec master..xp_cmdshell @fn -- удаляем по маске
   set @d = @d - 1
   end


т.е. перебираем дни (в скрипте 10 дней назад) и удаляем все бекапы за указанные даты
...
Рейтинг: 0 / 0
21.12.2014, 02:08
    #38838874
нуб987
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
удаление старых файлов
всё, нашел :)

теперь вместо длинного кода с циклом можно написать одну команду
...
Рейтинг: 0 / 0
21.12.2014, 02:11
    #38838876
нуб987
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
удаление старых файлов
упс... Вверху привел ссылку, где сначала для линукса и потом только пример с forfiles
вот правильная ссылка с нормальным описанием и примером
...
Рейтинг: 0 / 0
21.12.2014, 02:23
    #38838879
нуб987
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
удаление старых файлов
хммм... В случае, если подходящие файлы не найдены, выходит с ошибкой:
ERROR: No files found with the specified search criteria

И джоб в СКЛе из-за этого завершается с ошибкой (шаг не выполнен). Т.е. логически всё правильно, но это не то, что мне нужно...

Но это уже не сюда вопрос. Всем спасибо :)
...
Рейтинг: 0 / 0
22.12.2014, 05:21
    #38839260
SQL_2000_user
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
удаление старых файлов
нуб987,
Всё что нужно для создания бэкапов есть в самом 2000. А за тот идиотизм который творите Вас надо уволить! Зачем создавать бэкапы если часть цепочки между полным бэкапом и актуальным состоянием Вы удаляете?
...
Рейтинг: 0 / 0
05.01.2015, 18:23
    #38848576
нуб987
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
удаление старых файлов
SQL_2000_userнуб987,
Всё что нужно для создания бэкапов есть в самом 2000. А за тот идиотизм который творите Вас надо уволить! Зачем создавать бэкапы если часть цепочки между полным бэкапом и актуальным состоянием Вы удаляете?
вы всегда такой импульсивный? Прочитайте ветку внимательно , прежде чем судить.
Цепочка полностью рабочая. Удаляются только старые диф-бекапы.
...
Рейтинг: 0 / 0
Форумы / Windows [игнор отключен] [закрыт для гостей] / удаление старых файлов / 10 сообщений из 10, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]