Portál AbcLinuxu, 14. května 2024 17:42


Dotaz: Bash kontrola času u souboru

19.1.2018 19:39 zipi | skóre: 21
Bash kontrola času u souboru
Přečteno: 403×
Odpovědět | Admin
Dokázal by mi někdo pomoci jak zjistím čas u jednoho souboru a pokud se změní hodnota, aby mi přišel e-mail ..? Čas a datum je možné získat pomocí příkazu "ls -l .viminfo | cut -d ' ' -f '9-12'", ale vůbec netuším jak si daný příkaz mám uložit do proměnné, abych s nim mohl dál pracovat .. Děkuji za jakýkoliv help.

Řešení dotazu:


Nástroje: Začni sledovat (0) ?Zašle upozornění na váš email při vložení nového komentáře.

Odpovědi

Max avatar 19.1.2018 20:15 Max | skóre: 72 | blog: Max_Devaine
Rozbalit Rozbalit vše Re: Bash kontrola času u souboru
Odpovědět | | Sbalit | Link | Blokovat | Admin
Namátkou třeba takto (slovy neprogramátora):
#!/bin/bash

tfile=/home/max/scripts/xa1-ph

filetime=`stat -c %Y $tfile`
curtime=`date '+%s'`
diftime=$(($curtime - $filetime))

echo Posledni uprava souboru byla provedena pred ${diftime}s.
Kde "stat -c %Y" je posledni modifikace od počátku epochy (1970-01-01 00:00:00 UTC).
A "date '+%s'" je počet sekund od počátku epochy.

Pak tam můžeš přidat nějakou podmínku, že pokud je starší x, tak pošli mail apod. Hodnoty jsou celá čísla, takže počty jsou jednoduché, není třeba cokoli převádět.
Zdar Max
Měl jsem sen ... :(
Jendа avatar 20.1.2018 00:11 Jendа | skóre: 78 | blog: Jenda | JO70FB
Rozbalit Rozbalit vše Re: Bash kontrola času u souboru
Odpovědět | | Sbalit | Link | Blokovat | Admin
"ls -l .viminfo | cut -d ' ' -f '9-12'"
Osobně bych raději použil program stat, ls datum zobrazuje „lidsky“ a například podle stáří mění formát na čas/datum/rok. Další možnost je touchnout si jiný soubor a pak použít find -newer. A pokud to chceš realtime, tak na to se používá nástroj inotify.
ale vůbec netuším jak si daný příkaz mám uložit do proměnné
proměnná=`příkaz` nebo proměnná=$(příkaz). Doporučuji zagooglit nějaké intro do bashe.
Já to s tou denacifikací Slovenska myslel vážně.
20.1.2018 20:20 Peter Golis | skóre: 64 | blog: Bežné záležitosti | Bratislava
Rozbalit Rozbalit vše Re: Bash kontrola času u souboru
Odpovědět | | Sbalit | Link | Blokovat | Admin
pokud se změní hodnota, aby mi přišel e-mail

Nebolo by jednoduchšie využiť hotový nástroj? Zmeny na súborovom systéme sa monitorujú napríklad pomocou inotify, a to je využívane napríklad nástrojom incron. Možno to bude lepšie ako vynachádzať koleso.
24.1.2018 02:07 Andrej | skóre: 51 | blog: Republic of Mordor
Rozbalit Rozbalit vše Re: Bash kontrola času u souboru
Odpovědět | | Sbalit | Link | Blokovat | Admin

Základem takového projektu by měla být (kni)hovna Gamin, která má například API pro Python (byť asi jen 2.7, bohužel) a dá se taky použít normálně z C (se stručnou dokumentací v /usr/include/fam.h).

Založit nové vláknoNahoru

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.