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
[color=blue]Wrócę jak zjem zupę i drugie danie - tyle[/color]
[color=blue]a oto ta zupa:[/color]

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
[color=blue]Wrócę jak zjem zupę i drugie danie - tyle[/color]
[color=blue]a oto ta zupa:[/color]

Offline

 

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

  Zbooj - Dark Sith

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

Re: Wyszukiwanie plików z zakresem godzinowym

[url]http://askubuntu.com/questions/470134/how-to-find-the-creation-time-of-a-file[/url]


[url=https://www.youtube.com/watch?v=rNg2Dh6gPkw]Nemo sailing home...[/url]

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
[color=blue]Wrócę jak zjem zupę i drugie danie - tyle[/color]
[color=blue]a oto ta zupa:[/color]

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 [url]http://tecadmin.net/file-creation-time-linux/[/url]


[url=https://www.youtube.com/watch?v=rNg2Dh6gPkw]Nemo sailing home...[/url]

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 [b]nowo utworzone pliki[/b][/quote]
Jest jeszcze jeden problem. Plik musi być faktycznie nowo utworzony... Nie może być np. skopiowany, bo wtedy nie tworzy się nowy inode.


[url=https://www.youtube.com/watch?v=rNg2Dh6gPkw]Nemo sailing home...[/url]

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

[quote=morfik]A "touch dupa" to co to jest? xD[/quote]
Poczytaj o touch przyjacielu.
Skutkiem ubocznym touch jest tworzenie nowego pustego pliku. Ta komenda robi coś innego.


[url=https://www.youtube.com/watch?v=rNg2Dh6gPkw]Nemo sailing home...[/url]

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

[url=https://www.youtube.com/watch?v=rNg2Dh6gPkw]Nemo sailing home...[/url]

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

[quote=morfik]

Kod:

 Birth: -

I co mam tu zobaczyć? Nowe pliki nie maja daty modyfikacji czy coś?[/quote]
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.


[url=https://www.youtube.com/watch?v=rNg2Dh6gPkw]Nemo sailing home...[/url]

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
[color=blue]Wrócę jak zjem zupę i drugie danie - tyle[/color]
[color=blue]a oto ta zupa:[/color]

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

[quote=debbie]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

[/quote]
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.
[url]http://www.thegeekstuff.com/2009/06/15-practical-unix-linux-find-command-examples-part-2/[/url]


[url=https://www.youtube.com/watch?v=rNg2Dh6gPkw]Nemo sailing home...[/url]

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
[color=blue]Wrócę jak zjem zupę i drugie danie - tyle[/color]
[color=blue]a oto ta zupa:[/color]

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

[quote=debbie]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...[/quote]
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

[url=https://www.youtube.com/watch?v=rNg2Dh6gPkw]Nemo sailing home...[/url]

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
[b]find[/b]

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

[quote=Yampress]Do wyszukiwanie jest też polecenie
[b]find[/b][/quote]
Naturalnie... już to przerabialiśmy tutaj...


[url=https://www.youtube.com/watch?v=rNg2Dh6gPkw]Nemo sailing home...[/url]

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
[color=blue]Wrócę jak zjem zupę i drugie danie - tyle[/color]
[color=blue]a oto ta zupa:[/color]

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

[url=https://www.youtube.com/watch?v=rNg2Dh6gPkw]Nemo sailing home...[/url]

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
[color=blue]Wrócę jak zjem zupę i drugie danie - tyle[/color]
[color=blue]a oto ta zupa:[/color]

Offline

 

Stopka forum

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

[ Generated in 0.014 seconds, 11 queries executed ]

Informacje debugowania

Time (s) Query
0.00016 SET CHARSET latin2
0.00007 SET NAMES latin2
0.00108 SELECT u.*, g.*, o.logged FROM punbb_users AS u INNER JOIN punbb_groups AS g ON u.group_id=g.g_id LEFT JOIN punbb_online AS o ON o.ident='3.142.131.51' WHERE u.id=1
0.00095 REPLACE INTO punbb_online (user_id, ident, logged) VALUES(1, '3.142.131.51', 1733364373)
0.00070 SELECT * FROM punbb_online WHERE logged<1733364073
0.00074 SELECT topic_id FROM punbb_posts WHERE id=302128
0.00270 SELECT id FROM punbb_posts WHERE topic_id=28680 ORDER BY posted
0.00065 SELECT t.subject, t.closed, t.num_replies, t.sticky, f.id AS forum_id, f.forum_name, f.moderators, fp.post_replies, 0 FROM punbb_topics AS t INNER JOIN punbb_forums AS f ON f.id=t.forum_id LEFT JOIN punbb_forum_perms AS fp ON (fp.forum_id=f.id AND fp.group_id=3) WHERE (fp.read_forum IS NULL OR fp.read_forum=1) AND t.id=28680 AND t.moved_to IS NULL
0.00005 SELECT search_for, replace_with FROM punbb_censoring
0.00111 SELECT u.email, u.title, u.url, u.location, u.use_avatar, u.signature, u.email_setting, u.num_posts, u.registered, u.admin_note, p.id, p.poster AS username, p.poster_id, p.poster_ip, p.poster_email, p.message, p.hide_smilies, p.posted, p.edited, p.edited_by, g.g_id, g.g_user_title, o.user_id AS is_online FROM punbb_posts AS p INNER JOIN punbb_users AS u ON u.id=p.poster_id INNER JOIN punbb_groups AS g ON g.g_id=u.group_id LEFT JOIN punbb_online AS o ON (o.user_id=u.id AND o.user_id!=1 AND o.idle=0) WHERE p.topic_id=28680 ORDER BY p.id LIMIT 0,25
0.00090 UPDATE punbb_topics SET num_views=num_views+1 WHERE id=28680
Total query time: 0.00911 s