DevProTalk

DevProTalk (http://www.devprotalk.com/index.php)
-   Web Hosting, web serveri i operativni sistemi (http://www.devprotalk.com/forumdisplay.php?f=11)
-   -   Dir content modification time, za linux (http://www.devprotalk.com/showthread.php?t=7266)

ivanhoe 13. 03. 2009. 12:29

Dir content modification time, za linux
 
Da li u linuxu (ext3) postoji neki flag na osnovu koga mogu da proverim da li su u direktorijumu menjani fajlovi, bez da gledam jedan po jedan fajl ?

cvele 13. 03. 2009. 18:12

zar nemozes da pogledas modified time na parent folderu ?

ivanhoe 13. 03. 2009. 20:58

ne menja se, koliko vidim


EDIT: eh, u pravu si, ipak se izgleda menja ako se promeni fajl, ja sam uradio samo touch fajla, i onda se nije promenilo.. ok onda problem solved...

nn.nn 13. 03. 2009. 23:34

^ Neće baš biti tako:
Kôd:

$ mount | grep ext3
/dev/sda3 on / type ext3 (rw)
$ mkdir dir && touch dir/file && stat dir && sleep 5
  File: `dir'
  Size: 4096            Blocks: 8          IO Block: 4096  directory
Device: 803h/2051d      Inode: 12242987    Links: 2
Access: (0755/drwxr-xr-x)  Uid: ( 1000/    nn)  Gid: ( 1000/    nn)
Access: 2009-03-13 23:07:06.000000000 +0100
Modify: 2009-03-13 23:07:06.000000000 +0100
Change: 2009-03-13 23:07:06.000000000 +0100
$ cat > dir/file
test
$ stat dir
  File: `dir'
  Size: 4096            Blocks: 8          IO Block: 4096  directory
Device: 803h/2051d      Inode: 12242987    Links: 2
Access: (0755/drwxr-xr-x)  Uid: ( 1000/    nn)  Gid: ( 1000/    nn)
Access: 2009-03-13 23:07:16.000000000 +0100
Modify: 2009-03-13 23:07:06.000000000 +0100
Change: 2009-03-13 23:07:06.000000000 +0100
$ stat dir/file
  File: `dir/file'
  Size: 5              Blocks: 8          IO Block: 4096  regular file
Device: 803h/2051d      Inode: 10666088    Links: 1
Access: (0644/-rw-r--r--)  Uid: ( 1000/    nn)  Gid: ( 1000/    nn)
Access: 2009-03-13 23:07:06.000000000 +0100
Modify: 2009-03-13 23:07:18.000000000 +0100
Change: 2009-03-13 23:07:18.000000000 +0100

Koliko znam, ne postoji flag kakav ti tražiš.

ivanhoe 14. 03. 2009. 01:01

zanimljivo, gledao sam na dva servera i ako se uradi mv test dir/ ili se iz vi izmeni neki fajl unutar dir/ onda stat dir/ pokazuje promenu fajla... koji FS imas?

Extra mi je bitno da imam resenje koje ce raditi na svim linuxolikim boxovima jer skripta treba da se slobodno distribuira, necu imati nikakvu kontrolu nad okruzenjem...

nn.nn 14. 03. 2009. 02:02

Evo kako ja to razumem: direktorijum je fajl koji sadrži listu drugih fajlova. Promena sadržaja direktorijuma znači menjanje te liste i tako se menja mtime direktorijuma. Ako upišeš u dir (mv test dir/), onda si promenio njegov sadržaj. Komanda "vi fiile" pravi privremeni fajl ".file.swp", pa kad završiš snimi to kao "file" (drugi inode) i tako u suštini menjaš sadržaj direktorijuma. Ako samo menjaš sadržaj fajla u direktorijumu, nisi promenio sadržaj direktorijuma, jer je fajl ostao tu gde jeste, lista fajlova se nije promenila (inode fajla je isti). Inače, fs je ext3.

robi-bobi 14. 03. 2009. 13:31

kod mene radi modified ukoliko promenim neki fajl unutar foldera

ALI
ukoliko promenim neki fajl u nekom podfolderu foldera onda modified time ovog prvog foldera se ne menja

ne znam da li ti ovo treba kao feature ...

nn.nn 14. 03. 2009. 17:41

^ Sad sam već postao znatiželjan. Kako menjaš fajl?

robi-bobi 16. 03. 2009. 11:24

odoh da double check :)
....

Kôd:

$ stat dpt
Modify: 2009-03-16 12:19:26.000000000 +0200
$ vi dpt/one
$ stat dpt
Modify: 2009-03-16 12:19:49.000000000 +0200

(ostavljen samo deo stat outputa)

ubuntu, 2.6.24-23-generic

nn.nn 16. 03. 2009. 12:11

^ Kao što rekoh, kad pokreneš vi, on napravi dtp/.one.swp, što je samo po sebi dovoljno da promeni timestamp na dtp direktorijumu, čak i ako odustaneš od snimanja. Pri tome, briše se onaj .swp fajl, pa se opet menja mtime direktorijuma. Dodatno, kad snimiš dtp/one, promeni mu se i inode, pa je to još jedna modifikacija direktorijuma.

Za razliku od vi, cat ne pravi novi fajl (izuzev ako ne postoji), ne menja inode, pa se ne menja ni mtime direktorijuma.


Vreme je GMT +2. Trenutno vreme je 12:33.

Powered by vBulletin® Verzija 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Copyright © DevProTalk. All Rights Reserved.

Mišljenja, saveti, izjave, ponude ili druge informacije ili sadržaji nastali na Sajtu su vlasništvo onoga ko ih je kreirao, a ne DevProTalk.com, tako da ne morate da se oslanjate na njih.
Autori poruka su jedini odgovorni za ovakve sadržaje. DevProTalk.com ne garantuje tačnost, kompletnost ili upotrebnu vrednost informacija, stavova, saveta ili datih izjava. Ne postoje uslovi pod kojima bi mi bili odgovorni za štetu ili gubitak koji je posledica bilo čijeg oslanjanja na nepouzdane informacije, ili bilo kakve informacije nastale kroz komunikaciju između registrovanih članova.
Web sajt može sadržavati linkove na druge web sajtove na Internetu ili neke druge sadržaje. Ne kontrolišemo niti podržavamo te druge web sajtove, niti smo pregledali bilo kakve sadržaje na takvim sajtovima. Mi nećemo biti odgovorni za legalnost, tačnost ili prikladnost bilo kog sadržaja, oglasa, proizvoda, usluga ili informacije lociranim na ili distribuiranih kroz druge web sajtove, niti za bilo kakvu štetu nastalu kao posledica takvih informacija. DevProTalk.com drži i čuva druga prava vlasništva na web sajtu. Web sajt sadrže materijale zaštićene copyright-om, zaštitne znakove i druge informacije o pravu vlasništva ili softver. Članovi mogu poslatu informacije zaštićene pravima vlasništva njihovih nosilaca i ona ostaju zaštićena bez obzira da li su oni koji prenose te informacije to naveli ili ne. Osim informacija koje su u javnom vlasništvu ili za koje dobijete dozvolu, nemate pravo da kopirate, modifikujete ili na bilo koji način menjate, objavljujete, prenosite, distribuirate, izvršavate, prikazujete ili prodajte bilo koju informaciju zaštićenu pravima vlasništva. Slanjem informacija ili sadržaja na bilo koji deo DevProTalk.com, Vi automatski dozvoljavate i predstavljate garanciju da imate pravo da dozvolite DevProTalk.com ili članovima DevProTalk.com bespovratnu, kontinualnu, neograničenu, globalnu dozvolu da koriste, kopiraju, izvršavaju, prikazuju i distribuiraju takve informacije i sadržaje i da iz takvih sadžaja koriste bilo koji deo u bilo koje svrhe, kao i pravo i dozvolu da koriste gore navedene sadržaje. Svi zaštitni znakovi (trademarks), logotipi, oznake usluga, firme ili imena proizvoda koji se pominju na ovom web sajtu su vlasništvo kojim raspolažu njihovi vlasnici.