Byla vydána beta verze Linux Mintu 22.3 s kódovým jménem Zena. Podrobnosti v přehledu novinek a poznámkách k vydání. Vypíchnout lze, že nástroj Systémová hlášení (System Reports) získal mnoho nových funkcí a byl přejmenován na Informace o systému (System Information). Linux Mint 22.3 bude podporován do roku 2029.
GNU Project Debugger aneb GDB byl vydán ve verzi 17.1. Podrobný přehled novinek v souboru NEWS.
Josef Průša oznámil zveřejnění kompletních CAD souborů rámů tiskáren Prusa CORE One a CORE One L. Nejsou vydány pod obecnou veřejnou licenci GNU ani Creative Commons ale pod novou licencí OCL neboli Open Community License. Ta nepovoluje prodávat kompletní tiskárny či remixy založené na těchto zdrojích.
Nový CEO Mozilla Corporation Anthony Enzor-DeMeo tento týden prohlásil, že by se Firefox měl vyvinout v moderní AI prohlížeč. Po bouřlivých diskusích na redditu ujistil, že v nastavení Firefoxu bude existovat volba pro zakázání všech AI funkcí.
V pořadí šestou knihou autora Martina Malého, která vychází v Edici CZ.NIC, správce české národní domény, je titul Kity, bity, neurony. Kniha s podtitulem Moderní technologie pro hobby elektroniku přináší ucelený pohled na svět současných technologií a jejich praktické využití v domácích elektronických projektech. Tento knižní průvodce je ideální pro každého, kdo se chce podívat na současné trendy v oblasti hobby elektroniky, od
… více »Linux Foundation zveřejnila Výroční zprávu za rok 2025 (pdf). Příjmy Linux Foundation byly 311 miliónů dolarů. Výdaje 285 miliónů dolarů. Na podporu linuxového jádra (Linux Kernel Project) šlo 8,4 miliónu dolarů. Linux Foundation podporuje téměř 1 500 open source projektů.
Jean-Baptiste Mardelle se v příspěvku na blogu rozepsal o novinkám v nejnovější verzi 25.12.0 editoru videa Kdenlive (Wikipedie). Ke stažení také na Flathubu.
OpenZFS (Wikipedie), tj. implementace souborového systému ZFS pro Linux a FreeBSD, byl vydán ve verzi 2.4.0.
Kriminalisté z NCTEKK společně s českými i zahraničními kolegy objasnili mimořádně rozsáhlou trestnou činnost z oblasti kybernetické kriminality. V rámci operací OCTOPUS a CONNECT ukončili činnost čtyř call center na Ukrajině. V prvním případě se jednalo o podvodné investice, v případě druhém o podvodné telefonáty, při kterých se zločinci vydávali za policisty a pod legendou napadeného bankovního účtu okrádali své oběti o vysoké finanční částky.
Na lepší pokrytí mobilním signálem a dostupnější mobilní internet se mohou těšit cestující v Pendolinech, railjetech a InterPanterech Českých drah. Konsorcium firem ČD - Telematika a.s. a Kontron Transportation s.r.o. dokončilo instalaci 5G opakovačů mobilního signálu do jednotek Pendolino a InterPanter. Tento krok navazuje na zavedení této technologie v jednotkách Railjet z letošního jara.
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: