Twoje PC  
Zarejestruj się na Twoje PC
TwojePC.pl | PC | Komputery, nowe technologie, recenzje, testy
B O A R D
   » Board
 » Zadaj pytanie
 » Archiwum
 » Szukaj
 » Stylizacja

 
M E N U
  0
 » Nowości
0
 » Archiwum
0
 » Recenzje / Testy
0
 » Board
0
 » Rejestracja
0
0
 
Szukaj @ TwojePC
 

w Newsach i na Boardzie
 
OBECNI NA TPC
 
 » JE Jacaw 10:52
 » @GUTEK@ 10:50
 » NimnuL 10:47
 » Liu CAs 10:47
 » PiotrexP 10:46
 » adolphik 10:45
 » LooKAS 10:44
 » cVas 10:41
 » Dexter 10:41
 » coolio 10:35
 » Sherif 10:35
 » Tomasz 10:32
 » Wedrowiec 10:31
 » ligand17 10:26
 » PaKu 10:24
 » XepeR 10:19
 » Kenny 10:18
 » ham_solo 10:15
 » DYD 10:14
 » yeger 10:08

 Dzisiaj przeczytano
 41104 postów,
 wczoraj 25974

 Szybkie ładowanie
 jest:
włączone.

 
ccc
TwojePC.pl © 2001 - 2024
A R C H I W A L N A   W I A D O M O Ś Ć
    

Program kontrolujący wielkość wybranego pliku i alarmujący w razie przekroczenia , Feblo 7/09/11 13:20
Szukam programu, który monitorowałby wielkość zadanego (wskazanego) pliku i w wypadku przekroczenia przez plik określonej objętości - w jakikolwiek sposób alarmowałby o tym użytkownika.

Wuj Mat w podróży ;)

  1. proszem: , palioza 7/09/11 14:31
    #!/bin/bash
    MAX_SIZE=1000000
    FNAME=dupa.txt
    fsize=`stat -c%s $FNAME`
    if [ $fsize -gt $MAX_SIZE ]
    then
    echo "PRZEKROCZONY"
    fi

    Uczyń coś idiotoodpornym, a ktoś
    stworzy lepszą wersję idioty.

    1. wlasnie , elliot_pl 7/09/11 14:35
      pisalem cos podobnego :)

      momtoronomyotypaldollyochagi...

    2. Dziękuję, teraz tylko... , Feblo 7/09/11 15:11
      jeszcze bym prosił o małą instrukcję jak tego skryptu użyć.
      Załóżmy, że plik do monitorowania to o:/maciek/outlookmb.pst
      i wielkość krytyczna dla alarmu to 1900000000 bajtów.
      Skrypt masm przekleić w notatnik, zapisać jako skrypt.bat i wrzucić w autostart, czy jak? Dodam, że jedno skanowanie dziennie (na rozruch komputera) mi w 100% wystarczy.
      Z góry dzięki!

      Wuj Mat w podróży ;)

      1. Powinienes napisac w temacie, ze chodzi Ci o Windows , palioza 7/09/11 15:23
        dla mnie defaultowym systemem jest Linux, wiec na windowsie to niestety nie zadziala.

        Uczyń coś idiotoodpornym, a ktoś
        stworzy lepszą wersję idioty.

        1. moze jednak , RusH 7/09/11 15:32
          http://win-bash.sourceforge.net/ :)

          I fix shit
          http://raszpl.blogspot.com/

  2. Może to? , Tig3r 7/09/11 14:47
    http://file-alert-monitor.software.informer.com/
    Znalezione na szybko w googlu.

    1. niestety nie... , Feblo 7/09/11 15:54
      ponieważ ten program nie ma opcji określenia wielkości pliku, powyżej której robi alarm.
      On alarmuje w przypadku KAŻDEJ zmiany pliku, ale jesteśmy bardzo blisko rozwiązania.

      Problem konkretnie dotyczy puchnących plików PST od Outlooka, które po przekroczeniu 2GB się wykrzaczają. Dlatego właśnie trzeba je stale monitorować :(((((
      W przypadku 20 użytkowników i 20 plików sprawa zaczyna być poważnie upierdliwa. Najlepiej byłoby wskazać folder i kazać programowi monitorować czy w jakimkolwiek podkatalogu plik nie przekracza zadanej granicy. Jednokrotny skan dziennie zupełnie wystarcza.

      Wuj Mat w podróży ;)

      1. Znam ten ból z OE , Sherif 7/09/11 15:58
        <package>
        <job id="vbs">
        <script language="VBScript">

        Public Function PrzeiterujPoPlikach(SciezkaDoPlikow, LimitRozmiaru)
        Dim fso, f, f1, fc, s, Rozmiar, Komunikat
        Set fso = CreateObject("Scripting.FileSystemObject")
        Set f = fso.GetFolder(SciezkaDoPlikow)
        Set fc = f.Files
        For Each f1 in fc
        If (f1.name = "NazwaPliku.pst") Then
        s = SciezkaDoPlikow & f1.name
        Rozmiar = PodajRozmiarPliku(s)
        If Rozmiar >= LimitRozmiaru Then
        Komunikat = "Plik " & s & " osiągnął limit (" & LimitRozmiaru & " B) rozmiaru: " & Rozmiar & " B" & Chr(13) & Chr(10)
        PrzeiterujPoPlikach = PrzeiterujPoPlikach & Komunikat
        End If
        End If
        Next
        End Function

        Public Function PodajRozmiarPliku(Plik)
        Dim fso, f
        Set fso = CreateObject("Scripting.FileSystemObject")
        Set f = fso.GetFile(Plik)
        PodajRozmiarPliku = f.Size
        End Function

        On Error Resume Next

        Result = PrzeiterujPoPlikach("t:\", 1.5*1024*1024*1024)
        If Result <> "" Then MsgBox(Result)

        </script>
        </job>
        </package>

      2. Pełniejsza wersja, która działa z OE. Zapisz jako plik *.wsf , Sherif 7/09/11 16:18
        <package>
        <job id="vbs">
        <script language="VBScript">

        Public Function PrzeiterujPoTozsamosciach(SciezkaDoTozsamosci)
        Dim fso, f, f1, fc, s
        Set fso = CreateObject("Scripting.FileSystemObject")
        Set f = fso.GetFolder(SciezkaDoTozsamosci)
        Set fc = f.SubFolders
        For Each f1 in fc
        s = SciezkaDoTozsamosci & f1.name & "\Microsoft\Outlook Express\"
        PrzeiterujPoTozsamosciach = PrzeiterujPoTozsamosciach & PrzeiterujPoPlikach(s, 1.5*1024*1024*1024)
        Next
        End Function

        Public Function PrzeiterujPoPlikach(SciezkaDoPlikow, LimitRozmiaru)
        Dim fso, f, f1, fc, s, Rozmiar, Komunikat
        Set fso = CreateObject("Scripting.FileSystemObject")
        Set f = fso.GetFolder(SciezkaDoPlikow)
        Set fc = f.Files
        For Each f1 in fc
        If (f1.name = "Skrzynka odbiorcza.dbx") or (f1.name = "Elementy wysłane.dbx") or (f1.name = "Elementy usunięte.dbx") Then
        s = SciezkaDoPlikow & f1.name
        Rozmiar = PodajRozmiarPliku(s)
        If Rozmiar >= LimitRozmiaru Then
        Komunikat = "Plik " & s & " osiągnął limit (" & LimitRozmiaru & " B) rozmiaru: " & Rozmiar & " B" & Chr(13) & Chr(10)
        PrzeiterujPoPlikach = PrzeiterujPoPlikach & Komunikat
        End If
        End If
        Next
        End Function

        Public Function PodajRozmiarPliku(Plik)
        Dim fso, f
        Set fso = CreateObject("Scripting.FileSystemObject")
        Set f = fso.GetFile(Plik)
        PodajRozmiarPliku = f.Size
        End Function

        Public Sub UsunPlikWynikowy(Plik)
        On Error Resume Next
        Dim fso, MyFile
        Set fso = CreateObject("Scripting.FileSystemObject")
        If fso.FileExists(Plik) Then
        Set MyFile = fso.GetFile(Plik)
        MyFile.Delete(True)
        End If
        End Sub

        Public Sub UtworzPlikWynikowy(Plik, Tresc)
        Dim fso, MyFile
        Set fso = CreateObject("Scripting.FileSystemObject")
        Set MyFile = fso.CreateTextFile(Plik, True)
        MyFile.Write(Tresc)
        MyFile.Close
        End Sub

        Public Sub SprawdzRozmiarSkrzynekPocztowych
        Dim PlikWynikowy, Wynik
        PlikWynikowy = "p:\skrypty\" & komputer & "-" & login & ".txt"
        UsunPlikWynikowy PlikWynikowy
        Wynik = PrzeiterujPoTozsamosciach(PodajSciezkeBazowa)
        If Wynik <> "" Then UtworzPlikWynikowy PlikWynikowy, Wynik
        End Sub

        Public Function PodajSciezkeBazowa
        Dim WshShell
        Set WshShell = CreateObject("WScript.Shell")
        PodajSciezkeBazowa = WshShell.ExpandEnvironmentStrings("%USERPROFILE%") & "\Ustawienia lokalne\Dane aplikacji\Identities\"
        End Function

        On Error Resume Next
        Set WshNetwork = WScript.CreateObject("WScript.Network")
        Set WshShell = WScript.CreateObject("WScript.Shell")

        login = WshNetwork.UserName
        komputer = WshNetwork.ComputerName

        SprawdzRozmiarSkrzynekPocztowych

        </script>
        </job>
        </package>

        1. wow a Palioza , Killer 7/09/11 16:58
          napisał to w 8 linijkach :P

          Kiedyś normą był ogół a nie margines...

          1. tylko ze dupe.txt sprawdzil , faf 7/09/11 17:39
            i dalej jest w dupie

            w zwyklym cmd zajmuje to 1 linijke i co ? moze dosowo windziarska powloka jest lepsza od bashowej wywloki?

            for %i in (C:\dupa.txt) do @if %~zi GTR 100000 echo masz za duza dupe.txt

            1. Nie dziala. , Quad 7/09/11 21:20
              123

              1. co nie dziala ? , faf 7/09/11 21:45
                a masz na C: plik dupa.txt wiekszy niz 100000 bajtow ?

                lopatologicznie:
                dla (pliku dupa.txt) jezeli wielkosc wieksza niz 100000 to wypisz blabla

                parametry i wskazniki w cmd maja naprawde fajne ficzery choc slabo udokumentowane

                wieksza jazda to operacje na stringach za pomoca wskaznikow i zmiennych

                1. No poprostu nie dziala, , Quad 7/09/11 23:01
                  wkleilem w .bat, uruchamiam i dostaje:
                  "W tym momencie ~zi było nieoczekiwane."
                  Pod win7 64 bit. No ale zeby nie bylo, jak odpale z linii polecen to jest ok ;)

                  1. jesli odpalasz w skrypcie , faf 8/09/11 09:07
                    to uzywasz nie zmiennej % tylko wskaznika zmiennej %%
                    wiec zrob z procentow promile i bedzie dzialac :)

        2. Jestes wielki!!! Potrzebuje tylko... , Feblo 8/09/11 08:40
          zidentyfikowac gdzie w skaldni calego skryptu mam powstawiac swoje dane typu sciezki dostepu, zadana maksymalna wielkosc pliku itd. gdzies wpisac - gdzie? Niestety nie znam skladni jakiej uzyles, wiec nie chce czegos nakaszanic.
          System to WIN XP 32, sciezka do wszystkich plikow poczty to oddzielny dysk Q:\ i jego podkatalogi (posegregowane po uzytkownikach, tak dla uzytkownikow O jak OE).
          Maksymalny limit pliku, przy ktorym powinien wywalac komunikat to 1900000000 bajtow;
          Ten plik myślę uruchamiać z autostartu? czy też on będzie działał w tle i stale monitorował pliki?

          Jeśli wchodzimy w zbyt duży poziom szczegółowości, to proponuję mailowo

          Z góry BARDZO Ci dziękuję.

          Wuj Mat w podróży ;)

          1. Skrobnę maila , Sherif 8/09/11 08:45
            123

            1. WIEEELKIE DZIEKI RAZ JESZCZE! , Feblo 12/09/11 09:26
              Skrypt działa 100% jak należy i dzięki niemu mam nadzieję znakomicie ułatwić sobie życie.
              Ukłony i pozdrowienia.

              Wuj Mat w podróży ;)

    
All rights reserved ® Copyright and Design 2001-2024, TwojePC.PL