Nie jesteś zalogowany.
Jeśli nie posiadasz konta, zarejestruj je już teraz! Pozwoli Ci ono w pełni korzystać z naszego serwisu. Spamerom dziękujemy!

Ogłoszenie

Prosimy o pomoc dla małej Julki — przekaż 1% podatku na Fundacji Dzieciom zdazyć z Pomocą.
Więcej informacji na dug.net.pl/pomagamy/.

#1  2016-06-07 12:42:33

  debbie - Użytkownik

debbie
Użytkownik
Zarejestrowany: 2006-09-19

Wyszukiwanie plików z zakresem godzinowym

Witam,

Wie ktoś może czym najszybciej w bashu wylistuje wszystkie nowo utworzone pliki
z ostatnich 3 godzin?
Mam np katalog - /home/user/wazne
co jakiś czas dodawane są tam nowe pliki i katalogi.
Zastanawiam się czym wylistować nowo dodane ale z ostatnich 3 godzin.

Pozdrawiam :)


debbie
Wrócę jak zjem zupę i drugie danie - tyle
a oto ta zupa:

Offline

 

#2  2016-06-07 13:51:03

  morfik - Cenzor wirtualnego świata

morfik
Cenzor wirtualnego świata
Skąd: ze WSI
Zarejestrowany: 2011-09-15
Serwis

Re: Wyszukiwanie plików z zakresem godzinowym

Użyj find, on tam ma:

-newermt (dokładna data)
-atime , -ctime , -mtime (dni)
-ammin , -cmin , -mmin (minuty)

Jak chcesz sobie odszukać pliki modyfikowane 3 dni wstecz:

Kod:

$ find ./ -mtime -3

Jak chcesz pliki modyfikowane 10min wstecz to:

Kod:

$ find ./ -mmin -10

Offline

 

#3  2016-06-07 13:58:19

  debbie - Użytkownik

debbie
Użytkownik
Zarejestrowany: 2006-09-19

Re: Wyszukiwanie plików z zakresem godzinowym

no tak...to się odnosi do modyfikacji.... a co jeśli chodzi o pliki które zostały dodane? ( nie modyfikowane )


debbie
Wrócę jak zjem zupę i drugie danie - tyle
a oto ta zupa:

Offline

 

#4  2016-06-07 14:05:39

  Zbooj - Dark Sith

Zbooj
Dark Sith
Skąd: Siedziba Wszelkiego Zła
Zarejestrowany: 2005-07-28

Offline

 

#5  2016-06-07 14:18:18

  debbie - Użytkownik

debbie
Użytkownik
Zarejestrowany: 2006-09-19

Re: Wyszukiwanie plików z zakresem godzinowym

hmmm...no właśnie to rozgryzam...ale widze że niezły kosmos...
korzystał ktoś może z tego?


debbie
Wrócę jak zjem zupę i drugie danie - tyle
a oto ta zupa:

Offline

 

#6  2016-06-07 14:43:03

  Zbooj - Dark Sith

Zbooj
Dark Sith
Skąd: Siedziba Wszelkiego Zła
Zarejestrowany: 2005-07-28

Re: Wyszukiwanie plików z zakresem godzinowym

To istotnie ciekawe, że czas utworzenia nie jest zapisywany przez system operacyjny.
Dla jasności. Pobierana informacja pochodzi z czasu utworzenia węzła (inode) w systemie plików.

Widzę, że trzeba będzie jakąś funkcje napisać, żeby to móc zastosować jakoś praktycznie.

Tutaj lepszy link http://tecadmin.net/file-creation-time-linux/

Offline

 

#7  2016-06-07 14:46:50

  morfik - Cenzor wirtualnego świata

morfik
Cenzor wirtualnego świata
Skąd: ze WSI
Zarejestrowany: 2011-09-15
Serwis

Re: Wyszukiwanie plików z zakresem godzinowym

Kod:

$ touch dupa

$ find ./ -mmin -10
./
./dupa

O to chodzi?

Offline

 

#8  2016-06-07 14:48:56

  Zbooj - Dark Sith

Zbooj
Dark Sith
Skąd: Siedziba Wszelkiego Zła
Zarejestrowany: 2005-07-28

Re: Wyszukiwanie plików z zakresem godzinowym

wylistuje wszystkie nowo utworzone pliki

Jest jeszcze jeden problem. Plik musi być faktycznie nowo utworzony... Nie może być np. skopiowany, bo wtedy nie tworzy się nowy inode.

Offline

 

#9  2016-06-07 14:49:51

  morfik - Cenzor wirtualnego świata

morfik
Cenzor wirtualnego świata
Skąd: ze WSI
Zarejestrowany: 2011-09-15
Serwis

Re: Wyszukiwanie plików z zakresem godzinowym

A "touch dupa" to co to jest? xD

Offline

 

#10  2016-06-07 14:51:19

  Zbooj - Dark Sith

Zbooj
Dark Sith
Skąd: Siedziba Wszelkiego Zła
Zarejestrowany: 2005-07-28

Re: Wyszukiwanie plików z zakresem godzinowym

morfik napisał(-a):

A "touch dupa" to co to jest? xD

Poczytaj o touch przyjacielu.
Skutkiem ubocznym touch jest tworzenie nowego pustego pliku. Ta komenda robi coś innego.

Offline

 

#11  2016-06-07 14:53:08

  morfik - Cenzor wirtualnego świata

morfik
Cenzor wirtualnego świata
Skąd: ze WSI
Zarejestrowany: 2011-09-15
Serwis

Re: Wyszukiwanie plików z zakresem godzinowym

Kod:

$ cp dupa dupa2

$ find ./ -cmin -10
./
./dupa2
./dupa

Ktoś może napisać po ludzku o co wam chodzi, bo najwyraźniej nie wiem. xD

Offline

 

#12  2016-06-07 14:54:49

  Zbooj - Dark Sith

Zbooj
Dark Sith
Skąd: Siedziba Wszelkiego Zła
Zarejestrowany: 2005-07-28

Re: Wyszukiwanie plików z zakresem godzinowym

Parametry cmin i mmin nie wyszukują nowo utworzonych plików.
Polecam skorzystać ze stat...

Kod:

stat dupa

Offline

 

#13  2016-06-07 14:57:12

  morfik - Cenzor wirtualnego świata

morfik
Cenzor wirtualnego świata
Skąd: ze WSI
Zarejestrowany: 2011-09-15
Serwis

Re: Wyszukiwanie plików z zakresem godzinowym

Kod:

$ stat dupa
  File: 'dupa'
  Size: 0               Blocks: 0          IO Block: 4096   regular empty file
Device: fe02h/65026d    Inode: 131967      Links: 1
Access: (0644/-rw-r--r--)  Uid: ( 1000/  morfik)   Gid: ( 1000/  morfik)
Access: 2016-06-07 14:48:11.769030013 +0200
Modify: 2016-06-07 14:48:11.769030013 +0200
Change: 2016-06-07 14:48:11.769030013 +0200
 Birth: -

I co mam tu zobaczyć? Nowe pliki nie maja daty modyfikacji czy coś?

Offline

 

#14  2016-06-07 14:57:46

  Zbooj - Dark Sith

Zbooj
Dark Sith
Skąd: Siedziba Wszelkiego Zła
Zarejestrowany: 2005-07-28

Re: Wyszukiwanie plików z zakresem godzinowym

morfik napisał(-a):

Kod:

 Birth: -

I co mam tu zobaczyć? Nowe pliki nie maja daty modyfikacji czy coś?

Data modyfikacji nie jest tożsama z datą utworzenia.
Wcześniej pisałem, że utworzenie inode'a wskazuje na faktyczny moment utworzenia pliku w systemie plików.

Offline

 

#15  2016-06-07 15:00:59

  morfik - Cenzor wirtualnego świata

morfik
Cenzor wirtualnego świata
Skąd: ze WSI
Zarejestrowany: 2011-09-15
Serwis

Re: Wyszukiwanie plików z zakresem godzinowym

W sumie to już wiem o co chodzi. Choć nie wiem po co tak kombinować. xD

Offline

 

#16  2016-06-07 15:45:57

  debbie - Użytkownik

debbie
Użytkownik
Zarejestrowany: 2006-09-19

Re: Wyszukiwanie plików z zakresem godzinowym

Jednak wpadłem na pomysł, że będę listował katalogi wrzucając wynik do pliku :

Kod:

for i in /root/katalog1/*; do echo $i; done > plik1.txt

po 3 godzinach

Kod:

for i in /root/katalog1/*; do echo $i; done > plik2.txt

a następnie sprawdzał diff'em

diff plik1.txt plik2.txt

w tedy dostanę pliki które zostały dodane.

jednak diff wyrzuca mi coś takiego:

Kod:

7a8
> /root/katalog1/nowy_plik.txt

a chciałbym samą ścieżkę czyli:

/root/katalog1/nowy_plik.txt

Poza tym zastanawiam się nad tym for'em...
dlatego że w katalogu /root/katalog1/
są jeszcze podkatalogi i w podkatalogach kolejne
...w sensie, że drzewo jest dość obszerne...
a wrzucając wynik do pliku chciałbym aby wrzucał cała strukturę ( wszystkie podkatalogi i pliki itd itd )
żeby je porównywał.


debbie
Wrócę jak zjem zupę i drugie danie - tyle
a oto ta zupa:

Offline

 

#17  2016-06-07 15:53:14

  morfik - Cenzor wirtualnego świata

morfik
Cenzor wirtualnego świata
Skąd: ze WSI
Zarejestrowany: 2011-09-15
Serwis

Re: Wyszukiwanie plików z zakresem godzinowym

A takie coś?

Kod:

get_crtime() {

  for target in "${@}"; do
    inode=$(stat -c %i "${target}")
    fs=$(df  --output=source "${target}"  | tail -1)
    crtime=$(sudo debugfs -R 'stat <'"${inode}"'>' "${fs}" 2>/dev/null | 
    grep -oP 'crtime.*--\s*\K.*')
    printf "%s\t%s\n" "${target}" "${crtime}"
  done
    }

To wypisze wynik w takiej postaci:

Kod:

# get_crtime * | sort -k 5
dupa    Tue Jun  7 15:21:30 2016
dupa2   Tue Jun  7 15:21:38 2016
dupa3   Tue Jun  7 15:21:40 2016
dupa4   Tue Jun  7 15:21:40 2016
dupa5   Tue Jun  7 15:21:41 2016
dupa1   Tue Jun  7 15:21:43 2016

Jest posortowane po 5 kolumnie, jako, że tylko 3h, to z tego można wyciągnąć. Pewnie by jeszcze coś dało się dopisać by porównał ten czas z 3h wstecz i wyświetlił tylko te linijki ale nie wiem jak. xD

Offline

 

#18  2016-06-07 17:39:58

  Zbooj - Dark Sith

Zbooj
Dark Sith
Skąd: Siedziba Wszelkiego Zła
Zarejestrowany: 2005-07-28

Re: Wyszukiwanie plików z zakresem godzinowym

debbie napisał(-a):

Jednak wpadłem na pomysł, że będę listował katalogi wrzucając wynik do pliku :

Kod:

for i in /root/katalog1/*; do echo $i; done > plik1.txt

po 3 godzinach

Kod:

for i in /root/katalog1/*; do echo $i; done > plik2.txt

Ale kombinujesz facet...

Kod:

find /root/katalog1/ > plik1.txt

Powyższe wylistuje tylko pliki ze ścieżkami. Czyli określi obecność danych plików.

Diff, chyba dobrze

Kod:

diff plik1.txt plik2.txt | grep ">" > plik_roznic.txt

Taka ciekawostka... wydaje mi się, że to jest lepsze rozwiązanie... testowałem chwilę na swoim profilu, wynalazł w odstępie parominutowym różnice w plikach cache przegladarki...

Kod:

comm -23 <(sort plik1.txt) <(sort plik2.txt) > plik_roznic2.txt

Pozatym nadal nie rozumiem co chcesz osiągnąć.
Skąd wytrzaśniesz te pliki? Będą własnie w tym miejscu generowane przez jakąś aplikacje?
Czy pliki ww. folderu będą modyfikowane po znalezieniu sie w tym folderze? Czy będą nadpisywane w jakis sposób?
Czy trzeba porównywać wielkość?
To są ważne pytania. Może samo find by jednak wystarczyło.
http://www.thegeekstuff.com/2009/06/15-practical-un … mples-part-2/

Offline

 

#19  2016-06-09 15:50:44

  debbie - Użytkownik

debbie
Użytkownik
Zarejestrowany: 2006-09-19

Re: Wyszukiwanie plików z zakresem godzinowym

opcja

Kod:

diff plik1.txt plik2.txt | grep ">" > plik_roznic.txt

rozwiązuje problem...

teraz tylko zastanawiam się w jaki sposób przerobić te polecenie aby uzyskał

Kod:

SWÓJ_TEKST//root/katalog1/nowosc
SWÓJ_TEKST//root/katalog1/nowosc1
SWÓJ_TEKST//root/katalog1/nowosc/plik1.txt

bez znaku ">"... tylko w takiej formie...


debbie
Wrócę jak zjem zupę i drugie danie - tyle
a oto ta zupa:

Offline

 

#20  2016-06-10 07:46:05

  Zbooj - Dark Sith

Zbooj
Dark Sith
Skąd: Siedziba Wszelkiego Zła
Zarejestrowany: 2005-07-28

Re: Wyszukiwanie plików z zakresem godzinowym

debbie napisał(-a):

opcja

Kod:

diff plik1.txt plik2.txt | grep ">" > plik_roznic.txt

rozwiązuje problem...

teraz tylko zastanawiam się w jaki sposób przerobić te polecenie aby uzyskał

Kod:

SWÓJ_TEKST//root/katalog1/nowosc
SWÓJ_TEKST//root/katalog1/nowosc1
SWÓJ_TEKST//root/katalog1/nowosc/plik1.txt

bez znaku ">"... tylko w takiej formie...

Chyba tak, ręki se uciąć nie dam... bo bym nie miał ręki ;)

Kod:

diff plik1.txt plik2.txt | grep ">" | sed 's/>/SWÓJ_TEKST/g' > plik_roznic.txt

Offline

 

#21  2016-06-10 18:12:16

  Yampress - Imperator

Yampress
Imperator
Zarejestrowany: 2007-10-18

Re: Wyszukiwanie plików z zakresem godzinowym

Do wyszukiwanie jest też polecenie
find

Offline

 

#22  2016-06-13 13:05:37

  Zbooj - Dark Sith

Zbooj
Dark Sith
Skąd: Siedziba Wszelkiego Zła
Zarejestrowany: 2005-07-28

Re: Wyszukiwanie plików z zakresem godzinowym

Yampress napisał(-a):

Do wyszukiwanie jest też polecenie
find

Naturalnie... już to przerabialiśmy tutaj...

Offline

 

#23  2016-06-14 14:44:57

  debbie - Użytkownik

debbie
Użytkownik
Zarejestrowany: 2006-09-19

Re: Wyszukiwanie plików z zakresem godzinowym

troche męczę sed'a...z backslashami...

Kod:

sciezka="\\SERWERO"

diff plik1.txt plik2.txt | grep ">" | sed 's/>/'$sciezka'/g' > plik_roznic.txt

otrzymuje

Kod:

sed: -e wyrażenie #1, znak 19: nieprawidłowe odwołanie \1 po prawej stronie polecenia `s'

debbie
Wrócę jak zjem zupę i drugie danie - tyle
a oto ta zupa:

Offline

 

#24  2016-06-14 18:49:21

  Zbooj - Dark Sith

Zbooj
Dark Sith
Skąd: Siedziba Wszelkiego Zła
Zarejestrowany: 2005-07-28

Re: Wyszukiwanie plików z zakresem godzinowym

Jak dla mnie to go raczej męczysz swoją ścieżką i pojedynczymi cudzysłowami...
Tak się seda nie używa...

Dlaczego nie skorzystasz z tego? Znacznie lepsze i bardziej eleganckie rozwiązanie.

Kod:

comm -23 <(sort plik1.txt) <(sort plik2.txt) > plik_roznic2.txt

Offline

 

#25  2016-06-15 10:38:02

  debbie - Użytkownik

debbie
Użytkownik
Zarejestrowany: 2006-09-19

Re: Wyszukiwanie plików z zakresem godzinowym

Nie bardzo wiem czy się rozumiemy?

Ja potrzebuję otrzymać plik z lista plików i katalogów które zostały dodane...
i potrzebuję utworzyć sobie konkretną maskę:

Kod:

\\SERWERO\katalog1\plik1
\\SERWERO\katalog1\plik2
\\SERWERO\katalog1\plik3
\\SERWERO\katalog1\nowy_katalog\plik32

itd... właściwie sed mi to załatwia...tylko burzy się trochę do "\\"


debbie
Wrócę jak zjem zupę i drugie danie - tyle
a oto ta zupa:

Offline

 

Stopka forum

Powered by PunBB
© Copyright 2002–2005 Rickard Andersson
Nas ludzie lubią po prostu, a nie klikając w przyciski ;-)