Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Microsoft Windows NT/2000/2003 (http://forum.oszone.net/forumdisplay.php?f=5)
-   -   [решено] Автоматическое удаление файлов из директорий (http://forum.oszone.net/showthread.php?t=49782)

BigMac 26-05-2005 23:14 327694

[решено] Автоматическое удаление файлов из директорий
 
Ребята, помогите с решением проблемы.
Имеет сервак Windows 2003 Standart Edition. На серваке поднять ftp-server Serv-u. На этот сервак (в локальную папку) выкладываются файлы в подпапки. Задача такая:
Нужно чтобы после выкладывания ЛЮБОГО файла в ЛЮБУЮ подпапку папки ftp сервака, он удалялся через 7 дней. То есть предпложим человек кладет файл в папку Disney, нужно чтобы ОС удалила этот файл через 7 дней сама.

Как это можно реализовать?

PS Надеюсь понятно выразился?

Vadikan 27-05-2005 07:22 327760

Интересная задача. Силами ОС такое, ИМХО, не сделать. Только если написать скрипт, который будет отслеживать последний доступ к файлу, вычислять прошло ли 7 дней с последнего доступа и удалять файлы. Однако, я не знаю что произойдет с датой последнего доступа, если кто-то будет скачивать файлы извне. Так что задача не такая уж и небольшая :)

Можешь попробовать софт для этой цели и посмотреть как он справляется: Delenda Cleanup Software

BigMac 27-05-2005 10:16 327815

Vadikan
Спасибо за идею...буду изучать. Я пока придумал банально так:
Человек выкладывает файл на фтп....я пишу батник и кладу в Планировщик заданий. Пока идей лучше у меня нет...Но хотелось бы автоматизировать эту систему.

Fighter 27-05-2005 10:54 327831

Цитата:

который будет отслеживать последний доступ к файлу
вернее дате последнего изменения?
был где то скриптик выбирающий по дате и расширению,
если найду выложу, но опять же Планировщик, как вариант запуск с помощ. политики...
действительно, есть довольно неплохое сторонне ПО для этих целей,
в "+": работа в качестве службы, широкие возможности фильтрации и отбора,
в "-": как правило почти все $

Andrik 27-05-2005 10:57 327834

Напиши прогу которая бы пасла, что у тебя делается по определенных папках в системе и производила необходимые действия. К фтп можно и не привязываться.


Мде.. Лично меня такие Ваши посты начинают напрягать... За флейм отправляю в отпуск. :butcher:

BigMac 27-05-2005 12:40 327876

Andrik
Если бы я мог написать прогу, то не создавал бы тему:)
Fighter
А не подскажешь ли такое стороннее ПО?

RaZZoRRo 27-05-2005 14:35 327913

2BigMac
http://softsearch.ru/programs/34267.shtml - а вот это не поможет???? судя по описанию вам должно помочь....

BigMac 27-05-2005 17:43 327962

RaZZoRRo
Нет, это скрипт для работы с БД. В данном случае идет работа с файловой системой.

BigMac 27-05-2005 18:48 327977

Vadikan
Спасибо за прогу. Вроде то, что надо. Сейчас тестировать начал

Vadikan 27-05-2005 22:04 328023

Fighter
Цитата:

вернее дате последнего изменения?
Я понял, что выкладываться файлы будут копированием из произвольной папки в FTP-папку на машине-сервере. Разве в этом случае дата последнего изменения поможет? Она ж неизменной остается при таком копировании. А вот если кто-то залил файл извне, то тогда, наверное, дата последнего изменения поможет.
Цитата:

Цитата BigMac
Человек выкладывает файл на фтп...

в таком случае видимо речь идет о заливке файлов извне.
Цитата:

Цитата BigMac
я пишу батник и кладу в Планировщик заданий.

Хе-хе, так вот этот батник еще и написать надо. Я и сказал, что скрипт надо писать; батник - это тот же скрипт.

TbMA 27-05-2005 22:57 328029

  1. Берем рескит
  2. Из него берем forfiles.exe
  3. батник из 1й строки вида
forfiles -pc:\nashfolder -d-7 -c"cmd /c del @FILE"


или рекурсивно только файлы


forfiles -pc:\nashfolder -d-7 -s -c"cmd /c if @ISDIR=FALSE del @FILE"


Reskit: http://www.dynawell.com/support/ResKit/win2k.asp

4. Вешаем его на каждодневное исполнение

BigMac 28-05-2005 00:11 328045

Vadikan
ФТП, на который потом залезаю для скачки файлов (соотв. это папка ФТП локальная). Туда заливают файлы по сети.

Vadikan 28-05-2005 00:58 328053

Вложений: 1
Ну раз уже есть такая вещь, как forfiles, то пакетный файл значительно упрощается :) Файл нашел на msfn.

TbMA 28-05-2005 01:07 328055

>Ну раз уже есть такая вещь, как forfiles, то пакетный файл значительно упрощается Файл нашел на msfn.

Бтв, эти-же методы (т.е. батнички с рескитовыми утилитками) активно используют и сами МС у себя "дома" в сетке. ;)

Vadikan 28-05-2005 01:13 328057

TbMA
И откуда такая информация?

TbMA 28-05-2005 01:25 328060

>И откуда такая информация?
Я у них был

BigMac 28-05-2005 10:09 328096

TbMA
А поподробнее можно, что делает этот батник?

Fighter 28-05-2005 11:56 328103

Vadikan
безусловно, мой косяк :)
в данном случае выбирать нужно по дате создания

TbMA
спасибо за ссылку :)
но если я не ошибаюсь в данном случае
-d-7 выбирает именно по
Цитата:

/D Date - Selects files with a last modified date
т.е. дате последнего изменения, поправьте если это не так
+ то, что в вашей ссылке и ссылке Vadikan'a
(последняя присутствует в дистрибутиве Win2003)
утилиты немного отличаются синтаксисом

TbMA 28-05-2005 19:26 328180

Fighter: Именно по ней.

BigMac: Батник стирает файлы с датой старше чем 7 дней. Я не помню как там у Serv-U, но 99% фтп-серверов проставляют время создания файла.

В крайнем случае, несложно создать батник который бы ресетил время создания если оно старше (скажем) 8ми дней или "новее" чем сегодня ;)

BigMac 29-05-2005 22:32 328423

TbMA
Спасибо. Надо будет посмотреть какие атрибуты у файлов на серваке, чтобы лишнее случайно не стереть


Время: 12:51.

Время: 12:51.
© OSzone.net 2001-