ČTK (Česká tisková kancelář) upozorňuje (X), že na jejím zpravodajském webu České noviny byly dnes dopoledne neznámým útočníkem umístěny dva smyšlené texty, které nepocházejí z její produkce. Jde o text s titulkem „BIS zabránila pokusu o atentát na nově zvoleného slovenského prezidenta Petra Pelligriniho“ a o údajné mimořádné prohlášení ministra Lipavského k témuž. Tyto dezinformace byly útočníky zveřejněny i s příslušnými notifikacemi v mobilní aplikaci Českých novin. ČTK ve svém zpravodajském servisu žádnou informaci v tomto znění nevydala.
Byla založena nadace Open Home Foundation zastřešující více než 240 projektů, standardů, ovladačů a knihoven (Home Assistant, ESPHome, Zigpy, Piper, Improv Wi-Fi, Wyoming, …) pro otevřenou chytrou domácnost s důrazem na soukromí, možnost výběru a udržitelnost.
Společnost Meta otevírá svůj operační systém Meta Horizon OS pro headsety pro virtuální a rozšířenou realitu. Vedle Meta Quest se bude používat i v připravovaných headsetech od Asusu a Lenova.
Společnost Espressif (ESP8266, ESP32, …) získala většinový podíl ve společnosti M5Stack, čímž posiluje ekosystém AIoT.
Byla vydána nová stabilní verze 3.5 svobodného multiplatformního softwaru pro editování a nahrávání zvukových souborů Audacity (Wikipedie). Přehled novinek také na YouTube. Nově lze využívat cloud (audio.com). Ke stažení je oficiální AppImage. Zatím starší verze Audacity lze instalovat také z Flathubu a Snapcraftu.
50 let operačního systému CP/M, článek na webu Computer History Museum věnovaný operačnímu systému CP/M. Gary Kildall z Digital Research jej vytvořil v roce 1974.
Byl zveřejněn program a spuštěna registrace na letošní konferenci Prague PostgreSQL Developer Day, která se koná 4. a 5. června. Na programu jsou 4 workshopy a 8 přednášek na různá témata o PostgreSQL, od konfigurace a zálohování po využití pro AI a vector search. Stejně jako v předchozích letech se konference koná v prostorách FIT ČVUT v Praze.
Po 48 letech Zilog končí s výrobou 8bitového mikroprocesoru Zilog Z80 (Z84C00 Z80). Mikroprocesor byl uveden na trh v červenci 1976. Poslední objednávky jsou přijímány do 14. června [pdf].
Ještě letos vyjde Kingdom Come: Deliverance II (YouTube), pokračování počítačové hry Kingdom Come: Deliverance (Wikipedie, ProtonDB Gold).
Thunderbird 128, příští major verze naplánovaná na červenec, přijde s nativní podporou Exchange napsanou v Rustu.
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: