Prosíme přihlašte se nebo zaregistrujte.

Přihlašte se svým uživatelským jménem a heslem.
Vaše pomoc je stále potřeba!

Autor Téma: Jak poznat změnu souboru  (Přečteno 1456 krát)

timmynovak

  • Aktivní člen
  • *
  • Příspěvků: 300
Jak poznat změnu souboru
« kdy: 04 Května 2011, 21:33:09 »
Ahoj, řeším následující problém - potřeboval bych obsah textového souboru opakovaně uploadovat do MySQL, ale jen novinky. To umím vyřešit, jenže - potřebuji, aby se to do MySQL dostalo co nejrychleji. A tady je kámen úrazu - mohu samozřejmě neustále točit LOAD FROM FILE a ignorovat existující záznamy, ale to není ideální. Zbytečně to zatíží kde co všechno. Nešlo by to lépe? Tj. ve smyčce si jen kontrolovat, zda se soubor nezměnil a pokud ano, tak teprve provést načtení do MySQL. Jenže netuším, jak na to. Díky.

Šuohob

  • Závislák
  • ***
  • Příspěvků: 2171
Re: Jak poznat změnu souboru
« Odpověď #1 kdy: 04 Května 2011, 21:39:56 »
Tak napriklad si v databazi udelat dalsi sloupec pro datum posledni zmeny (mtime).
pokud lokalne ulozeny soubor bude mit vetsi mtime, nez mas v databazi, tak soubor v databazi updatni
« Poslední změna: 04 Května 2011, 22:36:23 od Bohouš »
Tak dlouho se vrzá s Acerem, až se displej utrhne.

timmynovak

  • Aktivní člen
  • *
  • Příspěvků: 300
Re: Jak poznat změnu souboru
« Odpověď #2 kdy: 04 Května 2011, 22:29:59 »
to je moc databázové - pořád to bude žrát spojení. potřeboval bych to na úrovni os...

Martin Kiklhorn

  • Člen občanského sdružení Ubuntu ČR a placené komunitní podpory
  • Administrátor fóra
  • Závislák
  • ******
  • Příspěvků: 4807
  • グーグル!ご存知ですか?
    • HEJ
Re: Jak poznat změnu souboru
« Odpověď #3 kdy: 04 Května 2011, 23:29:56 »
co si jenom porovnávat výstup treba z md5sum
Jsou ve vašem dotazu OPRAVDU VŠECHNY vám dostupné informace o problému?
Linux user since 2007-10-11, Registered #456007
Virtual
| Distribuce
~/slozka znamená /home/"vase jmeno"/slozka
6521 69DE 0F34 FCBC FB1D  DE76 360E 52B2 F71A B8E8

timmynovak

  • Aktivní člen
  • *
  • Příspěvků: 300
Re: Jak poznat změnu souboru
« Odpověď #4 kdy: 05 Května 2011, 10:33:20 »
to je dobrý nápad, jenže zase si to musím někam uložit:) bohužel nemám jak ovlivnit tvorbu toho souboru - napadá mne brutální řešení - soubor si zkopírovat do pracovního adresáře, pokud se bude originál lišit, tak udělat zase kopii do pracovního adresáře, tu načíst do db a pak pořád dokola... to by mohlo jít.

Martin - ViPEr*CZ*

Re: Jak poznat změnu souboru
« Odpověď #5 kdy: 05 Května 2011, 10:37:21 »
A proč si dělat celou kopii souboru, když stačí uložit jen ten výstup md5sum?
Navíc rozdíl zjistíš vždy nějakým porovnáním. A to něco s čím se bude porovnávat musíš mít někde uloženo nebo k dispozici.

to je dobrý nápad, jenže zase si to musím někam uložit:) bohužel nemám jak ovlivnit tvorbu toho souboru - napadá mne brutální řešení - soubor si zkopírovat do pracovního adresáře, pokud se bude originál lišit, tak udělat zase kopii do pracovního adresáře, tu načíst do db a pak pořád dokola... to by mohlo jít.
Open source is gold way... Mint 17.2, Debian 8.1 Jessie| Ubuntu Wiki (návody) | Google vyhledávač | Qt4 návody

Martin Kiklhorn

  • Člen občanského sdružení Ubuntu ČR a placené komunitní podpory
  • Administrátor fóra
  • Závislák
  • ******
  • Příspěvků: 4807
  • グーグル!ご存知ですか?
    • HEJ
Re: Jak poznat změnu souboru
« Odpověď #6 kdy: 05 Května 2011, 12:31:39 »
to musím někam uložit:)
držte si ten součet jen v nějaké proměnné, pokud to pojedete cronem tak máte proměnné prostředí, pokud ve smyčce tak v nějaké interní
do databáze to stejně budete zapisovat s ignore duplicit, přinejhoším se provede jeden zbytečný zápis po restartu.
Jsou ve vašem dotazu OPRAVDU VŠECHNY vám dostupné informace o problému?
Linux user since 2007-10-11, Registered #456007
Virtual
| Distribuce
~/slozka znamená /home/"vase jmeno"/slozka
6521 69DE 0F34 FCBC FB1D  DE76 360E 52B2 F71A B8E8

timmynovak

  • Aktivní člen
  • *
  • Příspěvků: 300
Re: Jak poznat změnu souboru
« Odpověď #7 kdy: 05 Května 2011, 13:56:02 »
tak jsem to nakonec vyřeil tím kopírováním, porávnám to přes cmp a případně znovu s ignore načtu. funguje to skvěle. děkuji všem.

GdH

  • Moderátor
  • Závislák
  • ***
  • Příspěvků: 3176
    • GdH-Notes
Re: Jak poznat změnu souboru
« Odpověď #8 kdy: 05 Května 2011, 14:12:55 »
Nebylo by jednodušší monitorovat čas modifikace souboru?
Kód: [Vybrat]
stat -c %y filenebo lépe
Kód: [Vybrat]
stat -c %Y filepro strojové zpracování

 

Provoz zaštiťuje spolek OpenAlt.