Okresowe kasowanie starych plików

27-lis-2010

Wraz z pojawieniem się nowej dyrekcji w firmie zostały wprowadzone zmiany dotyczące bezpieczeństwa. Rzeczywście, kiedy zespół liczył 3-4 osoby, to właściwie każdy miał prawo do wszystkiego. Kiedy jednak po biurach biega 20 osób, to dostęp do danych zaczyna być problemem. Po co wszyscy maja wiedzieć wszystko!?

Ustawienie uprawnień  i twrzenie grup to pestka, ale teraz pojawił się nowy problem. Czasami jeden użytkownik chce drugiemu przekazać plik, ale należą do zupełnie różnych grup! Pozostał im email, pen drive itp. Nie ma się co dziwić, że zaczęli marudzić.

Nie ma problemu. Wystarczy utworzyć jeden folder, do którego wszyscy mają dostęp. W tym przypadku nie było to naruszeniem zasad bezpieczeństwa. Teraz użytkownicy mogą się do woli wymieniać danymi, ale… zazwyczaj zapominjaą je kasować.

Trzeba więc zautomatyzować kasowanie plików z tego folderu. Znowu całą pracę wykona skrypt/batch uruchamiany raz dziennie w nocy za pomocą harmonogramu zadań. A oto ten skrypt:

rem tworzę plik w katalogu. Jego istnienie pozwoli mi
rem w nastepnym kroku sprawdzic czy istnieje katalog.
echo date > D:\DATA\Office\Public\TEMP\rk.tmp
rem Jezeli istnieje katalog to idz do sekcji "istnieje",
rem w przeciwnym razie idz do sekcji "nie_ma_go"

if exist D:\DATA\Office\Public\TEMP\rk.tmp goto istnieje
goto nie_ma_go
rem Teraz właściwe usuwanie: przejdź na właściwy dysk
rem i do właściwego katalogu (tutaj TEMP)
:istnieje
d:
cd \DATA\Office\Public\TEMP
rem kasowanie do plikow starszych niż 7 dni
Forfiles -p "D:\DATA\Office\Public\TEMP"  -m *.*  -d -7  -c "cmd /C del  @FILE"
rem kasowanie katalogow z podkatalogami starszych niż 7 dni
Forfiles -p "D:\DATA\Office\Public\TEMP"  -d -7  -c "cmd /C rmdir /S /Q  @FILE"
:nie_ma_go

I już po kłopocie. Automatyzacja kasowania zawartości katalogu z podkatalogami i plikami starszymi niż kilka dni – gotowa! Oczywiście w tym przypadku przyjąłem, że przechowywanie plików w katalogu TEMP przez 7 dni nie narusza zasad bezpieczeństwa. Gdyby tak nie było – poszukaj innego rozwiązania.

 

A tutaj lepsze rozwiązanie z wykorzystaniem powershell: http://www.mobilo24.eu/powershell-usuwanie-plikow-starszych-niz-1-miesiac/

Komentarze:

  1. Mobilo » Blog Archive » Powershell: Usuwanie plików starszych niż 1 miesiąc napisał,

    […] A to moje rozwiązaie nie wykorzystujące powershell: http://www.mobilo24.eu/okresowe-kasowanie-starych-plikow/ […]

  2. Mobilo » Blog Archive » Usuwanie plików – forfiles napisał,

    […] artykule Okresowe kasowanie starych plików opisałem jak kasować pliki starsze od danej daty. Wykorzystałem tam polecenie forfiles. […]

Autor: Rafał Kraik