Jiří Eischmann se v příspěvku Fiasko jménem W Social na svém blogu věnuje evropské sociální síti W: "W Social je příkladem toho, že se problémy sociální sítí nedají řešit od exekutivního stolu. Když na začátku tohoto roku v Davosu oznámili vznik nové sociální sítě W Social, politici se mohli přetrhnout ve chvalozpěvech. Konečně evropská sociální síť a ještě s ověřením identity. … Jak se ukázalo, když v Davosu W Social oznamovali, neměli kromě
… více »Výrobce hardwarových kryptoměnových peněženek Trezor upozorňuje na bezpečnostní incident u společnosti Brevo, kterou využívá k odesílání newsletterů. Útočník na e-mailové adresy odeslal phishingový e-mail.
Clement "Clem" Lefebvre publikoval souhrn dění v Linux Mintu za srpen 2026. Aplikace XApp mají vlastní webovou stránku xapp-project.org. Představena byl čtečka EPUB s názvem Xepub a kalendář Clockenstein.
Byla vydána nová verze 3.2.6 svobodné aplikace pro úpravu a vytváření rastrové grafiky GIMP (GNU Image Manipulation Program). Přehled novinek v oznámení o vydání a v souboru NEWS na GitLabu. Nový GIMP je již k dispozici také na Flathubu.
Bylo vydáno Ubuntu 24.04.5 LTS, tj. páté opravné vydání Ubuntu 24.04 LTS s kódovým názvem Noble Numbat. Přehled novinek a oprav na poznámkách k vydání.
Švýcarsko testuje přechod z Microsoft 365 na FOSS, konkrétně balík openDesk (Wikipedie) od německé státní společnosti ZenDiS (Wikipedie), s cílem posílit digitální suverenitu.
V italském městě Pordenone probíhá LibreOffice Conference 2026. Zúčastnit se lze i online.
Svobodný (GPLv3) šachový engine Stockfish (Wikipedie) byl vydán ve verzi 19 (𝕏). Přehled novinek v příspěvku na blogu. Stockfish 19 je o 44 Elo silnější než Stockfish 18.
Byla vydána nová verze 1.13.0 dynamického programovacího jazyka Julia (Wikipedie) určeného zejména pro vědecké výpočty. Přehled novinek v příspěvku na blogu a v poznámkách k vydání. Aktualizována byla také dokumentace.
Organizátoři konference LinuxDays zveřejnili program letošního ročníku a spustili registraci návštěvníků. LinuxDays 2026 se uskuteční 3. a 4. října v areálu ČVUT v pražských Dejvicích, na Fakultě informačních technologií. Těšit se můžete na 70 přednášek a workshopů od 66 přednášejících. Konference bude rozdělena do pěti sálů s různou kapacitou. Vstup na LinuxDays je jako obvykle zdarma, stačí včas vyplnit registrační formulář. Opět je možné si na akci zakoupit oběd, ale je třeba to udělat předem, na místě už to nebude možné.
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: