Před 30 lety, tj. 14. července 1995, se začala používat přípona .mp3 pro soubory s hudbou komprimovanou pomocí MPEG-2 Audio Layer 3.
Výroba 8bitových domácích počítačů Commodore 64 byla ukončena v dubnu 1994. Po více než 30 letech byl představen nový oficiální Commodore 64 Ultimate (YouTube). S deskou postavenou na FPGA. Ve 3 edicích v ceně od 299 dolarů a plánovaným dodáním v říjnu a listopadu letošního roku.
Společnost Hugging Face ve spolupráci se společností Pollen Robotics představila open source robota Reachy Mini (YouTube). Předobjednat lze lite verzi za 299 dolarů a wireless verzi s Raspberry Pi 5 za 449 dolarů.
Dnes v 17:30 bude oficiálně vydána open source počítačová hra DOGWALK vytvořena v 3D softwaru Blender a herním enginu Godot. Release party proběhne na YouTube od 17:00.
McDonald's se spojil se společností Paradox a pracovníky nabírá také pomocí AI řešení s virtuální asistentkou Olivii běžící na webu McHire. Ian Carroll a Sam Curry se na toto AI řešení blíže podívali a opravdu je překvapilo, že se mohli přihlásit pomocí jména 123456 a hesla 123456 a získat přístup k údajům o 64 milionech uchazečů o práci.
Byla vydána (𝕏) červnová aktualizace aneb nová verze 1.102 editoru zdrojových kódů Visual Studio Code (Wikipedie). Přehled novinek i s náhledy a videi v poznámkách k vydání. Ve verzi 1.102 vyjde také VSCodium, tj. komunitní sestavení Visual Studia Code bez telemetrie a licenčních podmínek Microsoftu.
Byla vydána nová verze 2.4.64 svobodného multiplatformního webového serveru Apache (httpd). Řešeno je mimo jiné 8 bezpečnostních chyb.
Společnost xAI na síti 𝕏 představila Grok 4, tj. novou verzi svého AI LLM modelu Grok.
Ministerstvo vnitra odhalilo závažný kyberincident v IT systému resortu. Systém, do kterého se dostal útočník bez oprávnění, byl odpojen a nedošlo k odcizení dat [𝕏].
Před rokem byla streamovací služba HBO Max přejmenována na Max. Dle managementu slovo HBO v názvu nebylo důležité. Včera byl Max přejmenován zpět na HBO Max. Kolik milionů dolarů to stálo? 😂
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 startV PHP skriptu (viz. vyse) staci zmenit jen povolenou IP (aby ti tam nezapisovali vtipalkove) a snad cestu k souboru s logem.. Tot vse.
#!/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ší.
echo
vypadalo:
echo "$(date "+%d.%m.%y %H:%M")<br>"
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
?
#!/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
<?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: