Nové číslo časopisu Raspberry Pi zdarma ke čtení: Raspberry Pi Official Magazine 160 (pdf).
Izrael od února zakáže dětem používat v prostorách základních škol mobilní telefony. Podle agentury AFP to uvedlo izraelské ministerstvo školství, které zdůraznilo negativní dopady, které na žactvo používání telefonů má. Izrael se tímto krokem přidává k rostoucímu počtu zemí, které dětem ve vzdělávacích zařízeních přístup k telefonům omezují.
Internetová společnost Google ze skupiny Alphabet pravděpodobně dostane příští rok pokutu od Evropské komise za nedostatečné dodržování pravidel proti upřednostňování vlastních služeb a produktů ve výsledcích vyhledávání. V březnu EK obvinila Google, že ve výsledcích vyhledávání upřednostňuje na úkor konkurence vlastní služby, například Google Shopping, Google Hotels a Google Flights. Případ staví Google proti specializovaným
… více »Byl oznámen program a spuštěna registrace na konferenci Prague PostgreSQL Developer Day 2026. Konference se koná 27. a 28. ledna a bude mít tři tracky s 18 přednáškami a jeden den workshopů.
Na webu československého síťařského setkání CSNOG 2026 je vyvěšený program, registrace a další informace k akci. CSNOG 2026 se uskuteční 21. a 22. ledna příštího roku a bude se i tentokrát konat ve Zlíně. Přednášky, kterých bude více než 30, budou opět rozdělené do tří bloků - správa sítí, legislativa a regulace a akademické projekty. Počet míst je omezený, proto kdo má zájem, měl by se registrovat co nejdříve.
Máirín Duffy a Brian Smith v článku pro Fedora Magazine ukazují použití LLM pro diagnostiku systému (Fedora Linuxu) přes Model Context Protocol od firmy Anthropic. I ukázkové výstupy v samotném článku obsahují AI vygenerované nesmysly, např. doporučení přeinstalovat balíček pomocí správce balíčků APT z Debianu místo DNF nativního na Fedoře.
Projekt D7VK dospěl do verze 1.0. Jedná se o fork DXVK implementující překlad volání Direct3D 7 na Vulkan. DXVK zvládá Direct3D 8, 9, 10 a 11.
Byla vydána nová verze 2025.4 linuxové distribuce navržené pro digitální forenzní analýzu a penetrační testování Kali Linux (Wikipedie). Přehled novinek se seznamem nových nástrojů v oficiálním oznámení na blogu.
Národní úřad pro kybernetickou a informační bezpečnost (NÚKIB) zveřejnil Národní politiku koordinovaného zveřejňování zranitelností (pdf), jejímž cílem je nejen zvyšování bezpečnosti produktů informačních a komunikačních technologií (ICT), ale také ochrana objevitelů zranitelností před negativními právními dopady. Součástí je rovněž vytvoření „koordinátora pro účely CVD“, jímž je podle nového zákona o kybernetické … více »
Vývojáři KDE oznámili vydání balíku aplikací KDE Gear 25.12. Přehled novinek i s náhledy a videi v oficiálním oznámení.
echo "datum_a_cas" >> soubor
echo "datum" >> soubor_na_webudo vašeho restarteru. S tím že soubor_na_webu je cesta k souboru na vašem lokálním webserveru. Ale to by zapisovalo spouštění té aplikace a ne její pád...
$allowed_ip="192.168.0.1"; // adresa, ktera muze zapsat
// Pokud je volano "write" z povolene IP zapis do logu jinak zobraz samotny log
if($_GET["write"] and $_SERVER["REMOTE_ADDR"]==$allowed_ip) {
file_put_contents("app.log",date("d.m.y - H:i")."\n",FILE_APPEND)
} else {
echo nl2br(file_get_contents("app.log"));
}
$allowed_ip="moje.ip";
// Pokud je volano "write" z povolene IP zapis do logu jinak
zobraz samotny log
if($_GET["write"] and $_SERVER["REMOTE_ADDR"]==$allowed_ip) {
file_put_contents("app.log",date("d.m.y -
H:i")."\n",FILE_APPEND)
} else {
echo nl2br(file_get_contents("app.log"));
}
Ale co s nim?
Omlouvam se, jsem v mnoha ohledech zacatecnik
#!/bin/sh
# zmena adresare na pracovni
cd /opt/aplikace/bin
# re-starter
start() {
# spoustim aplikaci
aplikaceCoSeRestartuje
# jakmile spadne (coz je prave ted), zapisuju na web
wget -q http://domena.com/applog.php?write=1 -O /dev/null
# volam znovu re-starter
start
}
# volam re-starter
start
V PHP skriptu (viz. vyse) staci zmenit jen povolenou IP (aby ti tam nezapisovali vtipalkove) a snad cestu k souboru s logem..
Tot vse.
nicmene ten postup mam dat misto obsahu obsahu restarteru (timto souborem jsem to drive spoustel spustim) ? Nebo mam proste jen ten postup spustit po prvnim spusteni toho restarteru?
(kvuli nejakemu bufferovani jak se tam pise)
#!/usr/bin/env python
import time, subprocess, os
appdir = '/home/honza'
prg1 = './prvni.py'
prg2 = './druha.py'
logfilename = 'restarty.log'
os.chdir(appdir)
subprocess.Popen(prg1)
time.sleep(2)
fw = file(logfilename, 'a')
while True:
time.sleep(1)
prg2_process = subprocess.Popen(prg2)
prg2_process.wait()
fw.write(time.strftime("%d.%m.%y - %H:%M\n"))
fw.flush()
Tohle změní pracovní adresář, pustí první aplikaci, počká nějakou dobu, a pak stále pouští druhou aplikaci, přičemž časy pádů zaznamenává do souboru v tom formátu jak jsi chtěl. Pro jistotu volám flush() (kvůli bufferování), aby obsah logu byl vždy aktuální.
> přepíše původní soubor
>> připíše na konec
Takže tam zkus místo jednoho > dát dvě >>.
PS: Používej tag PRE pro výpis kódu, logu, ... - je to přehlednější.
.... Ale jdu juknout na ten serial... Nicmene budu prubezne koukat i sem :D - nejsem si jisty, zda toto v tom serialu najdu...
26.02.07 13:19 26.02.07 14:06 26.02.07 14:28 26.02.07 - takto to vypada kdyz ten soubor zobrazim na webu
ale ten soubor pritom ma sam o sobe spravny format - kdyz ho otevru editorem, tak je spravne ve sloupci...
echo vypadalo:
echo "$(date "+%d.%m.%y %H:%M")<br>"
Diky za pomoc
cd /opt/AdresarAplikace/bin&&(./JmenoAplikace&)&&sleep 2&&while sleep 1; do ./JmenoAplikace; echo $(date "+%d.%m.%y %H:%M") >> /srv/www/htdocs/restartlog.php; done
?
- nějaký minimální čas to dá). Jak ale říkám, složité to nebude
, zvládnul bys to i sám. Každopádně, pokud to uděláš Ty, já, nebo někdo jiný, řešit se to bude zde (né e-maily, nebo jinak)!
)
(off topik: Jinak pokud by jsi chtel nejakou tu cokoladku - klidne i cokoladu nebo i vic cokolad, tak shanim pomocnika s linuxem
- pokud by jsi mel chut - treba na tu cokoladu - zajem a cas, tak se mi ozvi na icq
)
#!/bin/sh declare -i LT CT DT declare -i HOD MIN SEC LT=$(date +"%s") while : do sleep 1 ./JmenoAplikace CT=$(date +"%s") DT=$CT-$LT # DT=$CT-$LT+30 # ak sa ma zaokruhlovat na cele minuty LT=$CT SEC=$DT%60 MIN=$DT/60 HOD=$MIN/60 MIN=$MIN%60 STR="$(date "+%d.%m.%y %H:%M") - vydrzel " if [ "$HOD" -gt 0 ]; then STR="$STR $HOD hodin a "; fi STR="$STR $MIN minut bez padu" echo $STR >> /srv/www/htdocs/restartlog.php doneRiešenie by mohlo byť generovanie PHP súboru (a nie len textu) a tie dátumy/rozdiely by sa vygenerovali pomocou php až pri zobrazovaní.
cd /opt/AdresarAplikace/bin&&(./JmenoAplikace&)&&sleep 2&&while sleep 1; do ./JmenoAplikace; echo $(date "+%d.%m.%y %H:%M") >> /srv/www/htdocs/restartlog.php; done ??
me prave prijde, ze to je jine - protoze tam v tom scriptu nevidim treba to cd /opt/..........
Dekuji
#!/bin/sh cd /opt/AdresarAplikace/bin ./JmenoAplikace sleep 2 declare -i LT CT DT declare -i HOD MIN SEC LT=$(date +"%s") while : do sleep 1 ./JmenoDruheAplikace CT=$(date +"%s") DT=$CT-$LT+30 # ak sa ma zaokruhlovat na cele minuty LT=$CT SEC=$DT%60 MIN=$DT/60 HOD=$MIN/60 MIN=$MIN%60 STR="$(date "+%d.%m.%y %H:%M") - vydrzel " if [ "$HOD" -gt 0 ]; then STR="$STR $HOD hodin a "; fi STR="$STR $MIN minut bez padu" echo $STR >> /srv/www/htdocs/restartlog.php done #koniec
#!/usr/bin/python
import mx.DateTime, os, subprocess, time
appdir = '/opt/aplikace/bin'
prg1 = './PrvniAplikace'
prg2 = './PadajiciAplikace'
logfilename = '/srv/www/htdocs/restartlog.php'
def stopky():
old = mx.DateTime.now()
while True:
now = mx.DateTime.now()
diff = now - old
old = now
h_diff = int(diff.hours)
m_diff = diff.second
diff_str = ' - vydrzel %d hod. %d min. bez padu.' %(h_diff, m_diff)
now_str = now.strftime("%d.%m.%y - %H:%M")
yield now_str, diff_str
os.chdir(appdir)
subprocess.Popen(prg1)
time.sleep(2)
fw = file(logfilename, 'a')
for cas, rozdil in stopky():
fw.write(cas + rozdil + '\n')
fw.flush()
time.sleep(1)
prg2_process = subprocess.Popen(prg2)
prg2_process.wait()
Nes:~ # ./mangosstart2
-bash: ./mangosstart2: /usr/bin/python^M: bad interpreter: No such file or directory
Nes:~ #
python a pokud ti odpoví bash: python: command not found., kontaktuj svého správce. Pokud tam je, změň první řádek na
#!/usr/bin/env python
predpokladejme, ze mate na serveru prostredi s php, pak napriklad nejaky takovyto skript ulozte do souboru s priponou php nekam mezi skripty verejne pristupne "z webu"
<?php
$output = shell_exec('grep JMENOPADAVEAPLIKACE /var/log/messages');
echo "<pre>$output</pre>";
?>>
vypis by se dale naporcoval podle predstav ...
mohlo by se stat, ze to i bude fungovat, ma to nekolik predpokladu:
- vas webovy server (asi apache) bezi s pravy uzivatele, ktery muze cist /var/log/messages
- grep lezi nekde, kde to shell_exec prohledava
- nasly by se i dalsi
Tiskni
Sdílej: