powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Windows [игнор отключен] [закрыт для гостей] / Программное удаление устаревших файлов
25 сообщений из 50, страница 2 из 2
Программное удаление устаревших файлов
    #33919931
Фотография Anatoly Podgoretsky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kkv
Так ты же не слушаешь, а более подробную информацию выдаешь в конце обсуждения. Надо было действительно или абстрактно задавать вопрос или рассказывать, как сейчас рассказывал.
...
Рейтинг: 0 / 0
Программное удаление устаревших файлов
    #33919934
Фотография Anatoly Podgoretsky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
При подобной задачи я бы написал приложение, хотя бы на томже WSH вместо голого бат файла. Операции с датой там системно зависимы от локализации и версии ОС
...
Рейтинг: 0 / 0
Программное удаление устаревших файлов
    #33919981
Фотография kkv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Мне нужно было просто понять саму идею как с помощью команд ОС удалить старые файлы. Можно, конечно, написать расширенную ХП на каком-нибудь языке, можно даже запускать какой-то левый скрипт (потом постоянно мучиться с каталогами), можно. Но только зачем? Гораздо проще запихнуть эти команды в тело хранимки и не париться. А насчет абстрактности вопроса как-то не подумал, что начнут обсуждать не мой вопрос, а рассматривать способы как это сделать по-другому.

С уважением, kkv
...
Рейтинг: 0 / 0
Программное удаление устаревших файлов
    #33920077
Фотография Anatoly Podgoretsky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вроде не давно на форуме проскакивал WSH код на Бейсике для отбора файлов по дате.
WSH Микрософт позиционитрует как замена бат файлам, но он намного мощнее, на нем можно делать практически все, что и на других более мощных языках. Информацию по wsh можно найти на сайте Микрософта, с примерами готовых скриптов. Или у меня на сайте WSH
...
Рейтинг: 0 / 0
Программное удаление устаревших файлов
    #33920090
--null--
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
По возможности все же следует использовать вместо устаревших bat файлов WSH. Imho, конечно.
А то, что при этом системный код будет во внешнем файле, а не в хранимке - можно в принципе даже рассматривать как плюс.
...
Рейтинг: 0 / 0
Программное удаление устаревших файлов
    #33920218
Biz©
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
off-top: очередной раз убеждаюсь, што пока ещё "ф топку этот m$ сиквел" ...:)
...
Рейтинг: 0 / 0
Программное удаление устаревших файлов
    #33920252
Фотография kkv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Biz©off-top: очередной раз убеждаюсь, што пока ещё "ф топку этот m$ сиквел" ...:)
Каждый видит только то, что он хочет видеть.

С уважением, kkv
...
Рейтинг: 0 / 0
Программное удаление устаревших файлов
    #33920352
Biz©
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kkv Biz©off-top: очередной раз убеждаюсь, што пока ещё "ф топку этот m$ сиквел" ...:)
Каждый видит только то, что он хочет видеть.
не смешите мои тапочки расхожими измышлениями ... это мысли администратора о продукте с неудовлетворительными штатными средствами администрирования ...
кста, совсем не пнял столь неуёмное желание запихнуть некую последовательность команд оси внутрь базы ... эт примерно как некоторые узеры додумываются держать графические файлы в вордовских документах ...
ну да лана ... эт ваши проблемы ...
...
Рейтинг: 0 / 0
Программное удаление устаревших файлов
    #33920503
Фотография kkv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Biz©не смешите мои тапочки расхожими измышлениями ... это мысли администратора о продукте с неудовлетворительными штатными средствами администрирования ...Я уже говорил выше, что дискуссии о достоинствах и недостатках системы это в "Сравнение СУБД". На тему сравнения SQL Server и Oracle разбито столько копий, что хватит еще ни на одно поколение программистов и администраторов.

Biz©кста, совсем не пнял столь неуёмное желание запихнуть некую последовательность команд оси внутрь базы ... эт примерно как некоторые узеры додумываются держать графические файлы в вордовских документах ...
ну да лана ... эт ваши проблемы ...
Совершенно неуместная аналогия. Пишется самая обыкновенная системная административная процедура, на вход которой поступают такие параметры как имя базы данных, файловый каталог, количество дней, тип бэкапирования и т.д. Внутри самой процедуры кроме бэкапирования выполняется дополноительно куча всякой мелкой сопутствующей работы. Так как подобная последовательнось действий входит в план администрирования почти всех баз, то имеется самый прямой смысл использовать такой способ, особенно тогда, когда само количество таких баз становится внушительным. У меня при таком подходе все базы совершенно спокойно могут переезжать с места на место, да и вообще настройки становятся очень гибкими по отношению к разным изменениям. И способ этот, к вашему сведению, придуман не мной, а описан в очень умных книжках по администрированию SQL Server. Так что делать скоропалительные выводы о качестве системы и методах работы с нею, при этом не утрудив себя углублением в суть вопроса, - это не мои, а именно ваши проблемы.

С уважением, kkv
...
Рейтинг: 0 / 0
Программное удаление устаревших файлов
    #33920513
Фотография Anatoly Podgoretsky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
У тебя единственная особенность, это миграция баз, вероятнее всего при этом у тебя происходит потеря истории, это единственная на мой взгляд причина для отказа от штатных средст. Ни размер, ни количество не могут являться основание, удаление файлов не ресурсо емкая, и очень быстрая операция для ОС. А вот потеря истории сводит на нет возможности сервера по данной части.

Я не ошибаюсь? Или что то еще опустил?
...
Рейтинг: 0 / 0
Программное удаление устаревших файлов
    #33920521
--null--
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
так вроде есть в MS SQL Server доступ к OLE - можно с помощью sp_OACreate
получить доступ к FileSystemObject и проделать все необходимые действия. Наверное :-)
...
Рейтинг: 0 / 0
Программное удаление устаревших файлов
    #33920566
Фотография kkv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Anatoly PodgoretskyУ тебя единственная особенность, это миграция баз, вероятнее всего при этом у тебя происходит потеря истории, это единственная на мой взгляд причина для отказа от штатных средст. Ни размер, ни количество не могут являться основание, удаление файлов не ресурсо емкая, и очень быстрая операция для ОС.
Я не ошибаюсь? Или что то еще опустил?
В данном конкретном случае меня больше волнует программное удаление не только устаревших full-бэкапов, но и удаление соответствующих этому бэкапу диффов и логов.

Anatoly PodgoretskyА вот потеря истории сводит на нет возможности сервера по данной части.
Потеря истории может как-то сказаться на процессе восстановления баз? Я ведь восстанавливаю не из истории бэкапов, а из самих бэкапов.
...
Рейтинг: 0 / 0
Программное удаление устаревших файлов
    #33920569
Фотография kkv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
--null--так вроде есть в MS SQL Server доступ к OLE - можно с помощью sp_OACreate
получить доступ к FileSystemObject и проделать все необходимые действия. Наверное :-)Согласен полностью, буду двигаться и в этом направлении.
...
Рейтинг: 0 / 0
Программное удаление устаревших файлов
    #33920763
Фотография Anatoly Podgoretsky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kkvПотеря истории может как-то сказаться на процессе восстановления баз? Я ведь восстанавливаю не из истории бэкапов, а из самих бэкапов.
Может но не в этом случае. Иногда из-за этого невозможно восстановить логи на определенную дату. А из бекапа базы всегда можно восстановить.
...
Рейтинг: 0 / 0
Программное удаление устаревших файлов
    #33920774
Фотография Anatoly Podgoretsky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kkv --null--так вроде есть в MS SQL Server доступ к OLE - можно с помощью sp_OACreate
получить доступ к FileSystemObject и проделать все необходимые действия. Наверное :-)Согласен полностью, буду двигаться и в этом направлении.
Это уже без разницы, как командные файлы, так и средства MS SQL Server создают и используют одни и теже объекты OLE, конкретно объект FileSystemObject и рулят его свойствами и методами. Просто удобнее это делать с сервера, но в некоторых случаях наоборот. Например для изоляции от сервера.
...
Рейтинг: 0 / 0
Программное удаление устаревших файлов
    #33920788
Фотография Anatoly Podgoretsky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Сообственно ответ по OLE c помощью WSH был дан уже во втором ответе, а конкретный скрипт приведен в четвертом. Все остальное так или иначе крутится вокруг это и выяснения позиций по части возможности сервера в этой части.
Сейчас уже правильное направление выбрано, которое одними и теми же методами позволяет делать это как на сервере, так и с помощью командных файлов.
Вроде на этом обсуждение можно и прекратить?
...
Рейтинг: 0 / 0
Программное удаление устаревших файлов
    #33920919
Biz©
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kkvУ меня при таком подходе все базы совершенно спокойно могут переезжать с места на место, да и вообще настройки становятся очень гибкими по отношению к разным изменениям. И способ этот, к вашему сведению, придуман не мной, а описан в очень умных книжках по администрированию SQL Server. Так что делать скоропалительные выводы о качестве системы и методах работы с нею, при этом не утрудив себя углублением в суть вопроса, - это не мои, а именно ваши проблемы.

не пнял, что за множество мелких работ, которые также д.б. именно в ХП и в чём выше гибкость, чем через запуск обычной системной процедуры ... ну да ради бога ... моя, так моя ... :)
вот только последняя ремарка:
вы не задумывались, что ваш подход к удалению файлов по времени, может вас оставить вообще без бэкапа ?
...
Рейтинг: 0 / 0
Программное удаление устаревших файлов
    #33920965
Фотография Anatoly Podgoretsky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Biz©вы не задумывались, что ваш подход к удалению файлов по времени, может вас оставить вообще без бэкапа ?
Может, но надо качественно писать, с проверками, вот только за смену даты опасаюсь, тут никакие проверки не помогут. Но надеюсь, что там такое запрещено под угрозой увольнения и взыскаиния ущерба.
Правда это всего лишь бекап, его всегда повторно можно сделать.

А проверку можно сделать так, оставлять минимальное количество бекапов, удалять по дате только до этого количество, это поможет и против зверских операций с датой.
...
Рейтинг: 0 / 0
Программное удаление устаревших файлов
    #33921013
Biz©
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Anatoly PodgoretskyА проверку можно сделать так, оставлять минимальное количество бекапов, удалять по дате только до этого количество, это поможет и против зверских операций с датой.
дык именно по "намбер оф писиз" и говорю (+проверка минимального размера, если сбд вдруг нулевые бэкапы плодить начнёт) ... к чему время в условиях множественности баз, которые мобыть вообще у покупателя у чёрта на куличках ... хоть што-то сохранится ...
...
Рейтинг: 0 / 0
Программное удаление устаревших файлов
    #33921032
Biz©
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Anatoly PodgoretskyПравда это всего лишь бекап, его всегда повторно можно сделать.
автоматизация расхолаживает и наступает время када о бэкапах вспомнят тока када они нужны будут .. непродуманная автоматизация - бич современных админов ...
...
Рейтинг: 0 / 0
Программное удаление устаревших файлов
    #33921339
Фотография Anatoly Podgoretsky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Суть в авторМожет, но надо качественно писать, с проверками чем больше проверок потенциальных ошибок тем лучше, надо только поднапрячь голову, что бы представить полный спектр. Конечно и количество и размер контролировать и сообщать об обнаруженых проблемах оператору с паралельной записью в системный журнал. Делать все в рамках современных технологий и требований. Писать в журнал с помощью OLE не составит проблем, но писать не только сообщения об ошибка, но информационные об успешном выполнении задания. Конечно это не требуется если запуск ручной, тогда только сообщение оператору. Но я уверен, что подобное будет посажено на планировщик в автоматическом режиме.
...
Рейтинг: 0 / 0
Программное удаление устаревших файлов
    #33921352
Фотография Anatoly Podgoretsky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Biz©автоматизация расхолаживает и наступает время када о бэкапах вспомнят тока када они нужны будут .. непродуманная автоматизация - бич современных админов ...
Ой не говори, некоторые проблемы, например с RAID замечаю только несколько дней спустя. Нет возможности смотреть логи постоянно, только выборочно. Когда администратор один и на все, то другого не остается. А вот диске в RAID уже вылетали не раз. Бекапы также приходится контролировать, а то иногда сбивается автоматизм, пишет проблемы об ошибках в лог и все. А на 2003 логи громадные, можно и пропустить.
...
Рейтинг: 0 / 0
Программное удаление устаревших файлов
    #33921664
Yanis
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Anatoly Podgoretsky> Правда это всего лишь бекап, его всегда повторно можно сделать.

Не всегда. Его нельзя повторно сделать после поломки базы
Posted via ActualForum NNTP Server 1.3
...
Рейтинг: 0 / 0
Программное удаление устаревших файлов
    #33933678
Вот скрипт на VBS, любезно когда-то предоставленный уважаемым господином pentium-6, немного отредактированным мной.


Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
62.
63.
64.
65.
66.
67.
68.
69.
70.
71.
RunForFiles "D:\arhivBase\" 'файлы, среди которых будет производиться поиск устаревших, лежат в этой директории

Function RunForFiles(folderspec)
   Dim fso, f, f1, fc

   Set fso = CreateObject("Scripting.FileSystemObject")
   Set f = fso.GetFolder(folderspec)
   Set fc = f.Files
   For Each f1 in fc
WScript.Echo (folderspec & f1.name) 'вывод сообщения с именем файла, который будет удален. используется в тестовых целях, в рабочем скрипте нужно отключить
      If CompareDate(folderspec & f1.name) = True Then Log(folderspec & f1.name)
DelFile(folderspec & f1.name) 'удалить файл. 

Next

End Function

'***************************************************************
'Возвращает True, если дата создания файла больше 14-ти дней
Function CompareDate(strFileName)
   Dim fso, f, s, i
   Set fso = CreateObject("Scripting.FileSystemObject")
   Set f = fso.GetFile(strFileName)

   i = DateDiff("d", f.DateCreated, Now)

   If i > 14 Then 'здесь указывается количество дней, которое используется для сравнения с датой создания файла, т.е., в этом примере удаляются все файлы, созданные раньше, чем  14  дней назад
      WScript.Echo(strFileName & " " & i) 'вывести имя файла и его возраст, используется для отладки
      CompareDate = True
   Else
      CompareDate = False
   End If
End Function

'****************************************************************
'функция для извлечения пути
Function ExpandPath(strFullFileName)
   ExpandPath = Left(strFullFileName,instrrev(strFullFileName,"\"))
End Function

'***************************************************************
Function DelFile(strFullFileName)
Dim fso, F
   Set fso = CreateObject("Scripting.FileSystemObject")
   Set F = fso.GetFile(strFullFileName)
   F.Delete
End Function

'****************************************************************
'функция для создания log-файла. он создается рядом со скриптом, имя - дата запуска скрипта.
Function Log(strLineToLog)
   Const ForReading =  1 , ForWriting =  2 
   Dim fso, f, r, FileLog
   r = ""

   FileLog = Left(WScript.ScriptName,(Len(WScript.ScriptName)- 4 )) & "_" & DatePart("yyyy",Date) & "_" & DatePart("m",Date) & "_" & DatePart("d",Date) & "." & "log"
   Set fso = CreateObject("Scripting.FileSystemObject")

   If (fso.FileExists(FileLog)) Then
      Set f = fso.OpenTextFile(FileLog, Forreading, True)
      r = f.Readall
      f.Close
      Set f = fso.OpenTextFile(FileLog, ForWriting, True)
      f.Write strLineToLog & vbCrLf & r
      f.Close
   Else
      Set f = fso.OpenTextFile(FileLog, ForWriting, True)
      f.Write strLineToLog
      f.Close
   End If
End Function
...
Рейтинг: 0 / 0
Программное удаление устаревших файлов
    #33933684
Просто копируем содержимое скрипта в ткт-файл, меняем расширение на *.vbs и запускаем через планировщик заданий
...
Рейтинг: 0 / 0
25 сообщений из 50, страница 2 из 2
Форумы / Windows [игнор отключен] [закрыт для гостей] / Программное удаление устаревших файлов
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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