Fórum Root.cz

Hlavní témata => Vývoj => Téma založeno: fotka kdy 09. 06. 2015, 16:32:51

Název: Vyprázdnění souboru jednou za 5 hodin
Přispěvatel: fotka kdy 09. 06. 2015, 16:32:51
Prosím jak byste vyprázdnili soubor "buffer" každých 5 hodin z bash skriptu běžícího každých 10 minut?
Název: Re:Jak vyprázdnit soubor každých 5 hodin z bash skriptu běžícího každých 10 minut?
Přispěvatel: co_to kdy 09. 06. 2015, 16:47:20
Je to dobre, Fotka je stale s nami. :) Jsem jediny, kdo se nechyta a nevi co vlastne chce?
Název: Re:Jak vyprázdnit soubor každých 5 hodin z bash skriptu běžícího každých 10 minut?
Přispěvatel: fotka kdy 09. 06. 2015, 16:58:44
možná, že lépe řečeno "vyprázdnit jakýkoliv soubor"
>buffer
to vyprázdní, to já vím, otázka je jak to udělat aby to bylo každých 5 hodin z toho bash skriptu spouštějícího se častěji, už jsem na něco přišel ale ještě to nemám vykoušeno. Dávám prostor Vám pokud máte zajímavý nápad. děkuji
Název: Re:Jak vyprázdnit soubor každých 5 hodin z bash skriptu běžícího každých 10 minut?
Přispěvatel: Filip Jirsák nepřihlášený kdy 09. 06. 2015, 17:05:47
Nejjednodušší by mi připadalo spouštět jiný skript každých 5 hodin. Dále si můžete někam poznamenávat časovou značku, při spuštění  zjistit, zda od značky uplynulo více než X hodin (kde X je 5 mínus doba mazání mínus nějaká rezerva), a pokud ano, provedete danou akci a značku přepíšete aktuální hodnotou. A nebo bezestavově s pomocí přesného času - určit si nějaký počátek, zjistit, kolik hodin uplynulo od daného počátku a pokud je to dělitelné pěti, provést danou akci.
Název: Re:Vyprázdnění souboru jednou za 5 hodin
Přispěvatel: BLEK. kdy 09. 06. 2015, 17:10:08

if (i > 30) {

    vyprazdni();
  i = 0;
}

i++;
Název: Re:Jak vyprázdnit soubor každých 5 hodin z bash skriptu běžícího každých 10 minut?
Přispěvatel: Peta Kellneru kdy 09. 06. 2015, 17:27:50
Citace od: Filip Jirsák nepřihlášený kdy 09. 06. 2015, 17:05:47
Nejjednodušší by mi připadalo spouštět jiný skript každých 5 hodin. Dále si můžete někam poznamenávat časovou značku, při spuštění  zjistit, zda od značky uplynulo více než X hodin (kde X je 5 mínus doba mazání mínus nějaká rezerva), a pokud ano, provedete danou akci a značku přepíšete aktuální hodnotou. A nebo bezestavově s pomocí přesného času - určit si nějaký počátek, zjistit, kolik hodin uplynulo od daného počátku a pokud je to dělitelné pěti, provést danou akci.

chytre chlapec, spravne mysli i na rezervu, me ale praskla
Název: Re:Jak vyprázdnit soubor každých 5 hodin z bash skriptu běžícího každých 10 minut?
Přispěvatel: NA kdy 09. 06. 2015, 17:31:13
Citace od: fotka kdy 09. 06. 2015, 16:58:44
možná, že lépe řečeno "vyprázdnit jakýkoliv soubor"
Libovolný soubor se nejlépe vyprázdní jeho smazáním.
Můžeš testovat počítadlo skriptu, nebo stáří souboru, nebo čas od posledního smazání, nebo ...
Název: Re:Jak vyprázdnit soubor každých 5 hodin z bash skriptu běžícího každých 10 minut?
Přispěvatel: kozzi11 kdy 09. 06. 2015, 19:06:26
Citace od: NA kdy 09. 06. 2015, 17:31:13
Citace od: fotka kdy 09. 06. 2015, 16:58:44
možná, že lépe řečeno "vyprázdnit jakýkoliv soubor"
Libovolný soubor se nejlépe vyprázdní jeho smazáním.
Můžeš testovat počítadlo skriptu, nebo stáří souboru, nebo čas od posledního smazání, nebo ...

IMHO to je blbost. Smazanim se moc dobre nevyprazdni a neni to moc dobry zpusob. Mnohem lepsi je ho opravdu vyprazdnit nez smazat.
Název: Re:Vyprázdnění souboru jednou za 5 hodin
Přispěvatel: hawran diskuse kdy 09. 06. 2015, 19:18:08
(http://pxhst.co/avaxhome/03/dc/000adc03.jpeg)
Název: Re:Vyprázdnění souboru jednou za 5 hodin
Přispěvatel: Tomxoxoxo kdy 09. 06. 2015, 19:34:07
cron?
Název: Re:Vyprázdnění souboru jednou za 5 hodin
Přispěvatel: OMG kdy 10. 06. 2015, 07:30:50
Citace od: fotka kdy 09. 06. 2015, 16:32:51
Prosím jak byste vyprázdnili soubor "buffer" každých 5 hodin z bash skriptu běžícího každých 10 minut?
treba si muzes ulozit cas posledniho vyprazdneni souboru a dalsi vyprazdneni souboru udelas az za definovany cas a po vyprazdneni ulozis novy cas posledniho vyprazdneni souboru...
Název: Re:Vyprázdnění souboru jednou za 5 hodin
Přispěvatel: Wololo kdy 10. 06. 2015, 12:06:45
co takhle pouzit find?

http://stackoverflow.com/questions/543946/find-mtime-files-older-than-1-hour

a je rozhodne lepsi do souboru nasypat echo "" > buffer.txt

jeste je nejaky lepsi zpusob, ale rozhodne nejako podobne.
Název: Re:Vyprázdnění souboru jednou za 5 hodin
Přispěvatel: ttyghum kdy 10. 06. 2015, 13:25:11
Citace od: Wololo kdy 10. 06. 2015, 12:06:45
co takhle pouzit find?

http://stackoverflow.com/questions/543946/find-mtime-files-older-than-1-hour

a je rozhodne lepsi do souboru nasypat echo "" > buffer.txt

jeste je nejaky lepsi zpusob, ale rozhodne nejako podobne.

Soubor má být vyprázdněn každých 5 hodin, nikoliv jen v případě, že soubor nebyl 5 hodin modifikován.

Řešil bych to asi takhle:
Pokud je soubor /tmp/foo_flag starší jak 5 hodin, odstraním ho (find nebo /tmp/foo_flag vytvářet pomocí date +%s > /tmp/foo_flag a porovnám to..).
Pokud neexistuje /tmp/foo_flag, vytvořím ho a vyprázdním foo_buffer.