abclinuxu.cz AbcLinuxu.cz itbiz.cz ITBiz.cz HDmag.cz HDmag.cz abcprace.cz AbcPráce.cz
AbcLinuxu hledá autory!
Inzerujte na AbcPráce.cz od 950 Kč
Rozšířené hledání
×
    včera 22:44 | Nová verze

    Programovací jazyk Python byl vydán v nové major verzi 3.15.0. Podrobný přehled novinek v aktualizované dokumentaci.

    Ladislav Hagara | Komentářů: 0
    včera 22:33 | Zajímavý projekt

    BIGWORDS.PAGE je open-source webová aplikace, která po otevření odkazu v prohlížeči vykreslí přes celou obrazovku jednoduché informační sdělení. Zpráva i její nastavení jsou uložené v části URL za znakem #, například odkaz https://bigwords.page/#abclinuxu zobrazí jako velký bílý nápis 'abclinuxu' na černém pozadí. Obsah odkazu lze upravovat i vestavěným editorem, ten umožňuje nastavovat formátování a vizuální efekty textu, časovače, QR kódy a obrázky. Zdrojový kód je dostupný pod licencí MIT na GitHubu.

    ❗Červivý Hřib krade❗ | Komentářů: 7
    včera 11:55 | Upozornění

    V neděli 11. října proběhne rotace klíče kořenové zóny. Podruhé v historii. Ondřej Filip na blogu CZ.NIC: "Pokud je pro Vás DNS protokol spíše výzva, ale přesto spravujete nějakou síť či DNS resolver, zkuste si jednoduchý test, který připravila firma Cloudflare na této adrese. Obzvláště zbystřit byste měli, pokud uvidíte nějaká červená políčka."

    Ladislav Hagara | Komentářů: 12
    včera 09:55 | IT novinky

    Vláda Spojených států se rozhodla vyřadit americkou softwarovou společnost Microsoft a několik dalších velkých technologických podniků z programu, který umožňuje kvalifikovaným zahraničním pracovníkům získat povolení k trvalému pobytu. Oznámila to včera administrativa amerického prezidenta Donalda Trumpa. Opatření zdůvodnila rozsáhlým zneužíváním programu, který je dlouhodobě terčem kritiky ze strany Trumpových příznivců, neboť prý znevýhodňuje americké pracovníky.

    Ladislav Hagara | Komentářů: 11
    včera 09:44 | IT novinky

    Datové centrum největší ruské technologické společnosti Jandex v Rjazaňské oblasti se stalo cílem dronového útoku a zastavilo provoz. Jandexu se někdy přezdívá „ruský Google“. Provozuje nejoblíbenější internetový vyhledávač v Rusku nebo aplikace pro objednávky jídla a taxi. Využívají jej desítky milionů lidí v rusky mluvících zemích.

    Ladislav Hagara | Komentářů: 11
    včera 09:33 | Nová verze

    Francouzská společnost Mistral AI představila Mistral Large 4 (interně přezdívaný 'le Chonk', volně přeloženo 'pořádný macek'), 'open-weight multimodální hybridní instruct-and-reasoning model s architekturou granulárního MoE, nativně podporující více jak 160 jazyků'. Model má přes jeden bilión parametrů, z nichž při práci využívá 49 miliard, kontextové okno o délce milion tokenů a obrazový enkodér o 1,6 miliardách parametrů.

    … více »
    ❗Červivý Hřib krade❗ | Komentářů: 2
    včera 03:22 | Nová verze

    Svobodný multiplatformní herní engine Bevy napsaný v Rustu byl vydán ve verzi 0.20. Díky 227 přispěvatelům.

    Ladislav Hagara | Komentářů: 0
    včera 03:11 | Komunita

    Simon Long oznámil Raspberry Pi Desktop pro PC a Mac s Intelem postavený na aktualizovaném Debianu 13 Trixie. S klientem Raspberry Pi Connect pro vzdálenou správu. Ke stažení je vedle Raspberry Pi OS pro Raspberry Pi.

    Ladislav Hagara | Komentářů: 1
    8.10. 21:33 | Zajímavý projekt

    ESP32-C3 adblock přemění lacinou vývojovou desku ESP32‑C3 na samostatný DNS blokovač nejenom reklamních domén, minimalistickou alternativu k populárnímu Pi-hole. ESP32-C3 adblock místo objemných názvů domén ukládá jejich 40-bitové FNV-1a hashe do flash paměti, které pak binárně prohledává, kontrola jedné domény trvá přibližně 10 milisekund. Blocklist pojme až 537 tisíc domén a lze jej spravovat přes webové rozhraní. Projekt zatím

    … více »
    ❗Červivý Hřib krade❗ | Komentářů: 0
    8.10. 21:00 | Zajímavý software

    ArtCraft je sada open source aplikací pro práci s obrázky a videi "inspirovaných" aplikacemi od Adobe. Napsaných v Rustu. Pro MacOS, Windows i Linux. Běží také ve webovém prohlížeči. Aktuálně se jedná o 7 aplikací: PhotoCraft (Photoshop), VectorCraft (Illustrator), FilmCraft (Premiere Pro), LightCraft (Lightroom), PdfCraft (Acrobat), EffectCraft (After Effects) a DesignCraft (InDesign). Zdrojové kódy jsou k dispozici na GitHubu.

    Ladislav Hagara | Komentářů: 9
    Které desktopové prostředí na Linuxu používáte?
     (9%)
     (7%)
     (4%)
     (21%)
     (29%)
     (8%)
     (5%)
     (2%)
     (14%)
     (20%)
    Celkem 2822 hlasů
     Komentářů: 31, poslední 13.8. 00:27
    Rozcestník

    Data o hovorech z telefonní ústředny Panasonic do databáze

    23.7.2009 14:00 | Přečteno: 1576× | skripty | Výběrový blog | poslední úprava: 23.7.2009 15:51

    Zdravím všechny čtenáře. S linuxem sem tam pracuji už několik let. Většinou se jedná o věci spojené s PHP a v současnosti hlavně SAMBA, jelikož mám na starost síť s několika desítkami win stanic. Před nějakou dobou firma kde pracuji pořídila telefonní ústřednu panasonic tde-200, která umožňuje připojení přes telnet a načítání dat o hovorech. Se starou ústřednou byl zakoupen program tardat, který jsem k tomuto účelu zkoušel použít i s novou ústřednou, nicméně mi moc nevyhovoval už jenom proto, že musel být spuštěn sw na windowsech a ještě to chtělo HW klíč do LPT portu. Tak jsem začal vymýšlet nějaké linuxové řešení. Nikdy jsem ovšem neřešil skripty v BASHi, tak bych se rád podělil o funkční řešení a současně bych rád čtenáře požádal o radu, jestli to lze udělat lépe, nebo jinak.

    V současné době to mám nastaveno tak, že existují dva skripty. Jeden v BASHi, který spustí na pozadí nc. Ten se stará o načítání dat z ústředny a jejich ukládání do souboru. Soubor se vytváří jiný pro každý měsíc. V tomto skriptu pak běží smyčka, která každých 5 sekund spustí PHP skript, který data ze souboru načte a ukládá do databáze MySQL. Tento PHP skript si vždy po skončení uloží do souboru s příponou last číslo posledního načteného řádku, aby při dalším spuštění pokračoval až od dalšího. Smyčka testuje, jestli už neskončil den a když už je jiný den, tak se skript ukončí. Cron pak skript zase spustí v jednu hodinu ráno.

    Bash skript pbxtodb.sh:

    #!/bin/bash
    echo -e -n "smdr\r\nPCCSMDR\r\n" | nc -t 192.168.2.15 2300 >> /var/www/tardat/pbxdata_`date '+%Y%m'`.txt &
    PID=$!
    MIN=`date '+%d'`
    TEST=`date '+%d'`
    while [ $MIN -eq $TEST ]; do
    	MIN=`date '+%d'`
    	/usr/bin/php5 /var/www/tardat/pbxtodb.php >> /var/www/tardat/pbxtodb.php.log
    	sleep 5
    done
    kill $PID
    

    PHP skript pbxtodb.php pro uložení dat do DB:

    <?php
    $filename = "/var/www/tardat/pbxdata_".date("Ym").".txt";
    $lastfile = "/var/www/tardat/pbxdata_".date("Ym").".last";
    
    $dbprefix = "";
    
    $link = connect_db();
    sql_query("SET NAMES 'utf8'",$link);
    sql_query("SET CHARACTER SET utf8",$link);
    sql_query("SET COLLATION_CONNECTION='utf8_bin'",$link);
    
    function sql_query($query,$link)
    {
    	if (!$result = mysql_query($query, $link))
    	{
    		echo mysql_errno() . ": " . mysql_error(). "\r\n";
    		$result = 0;
    		die("db query error...\r\n".$query);
    	}
    	return $result;
    }
    
    function connect_db()
    {
    	$DB_HOST="localhost";
    	$DB_USER="pbx";
    	$DB_PASS="pbx";
    	$DB_NAME="pbx";
    
    	// Connect to DB
    	if (!$link = mysql_connect($DB_HOST, $DB_USER, $DB_PASS))
    	{
    		echo mysql_errno() . ": " . mysql_error(). "\r\n";
    		$result = 0;
    		die("db connect error");
    	}
    	else
    	{
    		// Select DB
    		if (!mysql_select_db($DB_NAME, $link))
    		{
    			echo mysql_errno() . ": " . mysql_error(). "\r\n";
    			$result = 0;
    			die("db select error");
    		}
    		else
    		{
    			return $link;
    		}
    	}
    }
    
    function disconnect_db($link)
    {
    	@mysql_close($link);
    }
    
    function pocetsekund($mystr)
    {
    	$sekund = 0;
    	$sekund += substr($mystr,0,2) * 60 * 60;
    	$sekund += substr($mystr,3,2) * 60;
    	$sekund += substr($mystr,6,2) * 1;
    	return $sekund;
    }
    
    function pocetsekund2($mystr)
    {
    	$sekund = 0;
    	$sekund += substr($mystr,0,1) * 60;
    	$sekund += substr($mystr,2,2) * 1;
    	return $sekund;
    }
    
    $waslast = "";
    if (file_exists($lastfile)) {
    	$fp = @fopen($lastfile, "r");
    	$waslast = fread($fp, 4096);
    	fclose($fp );
    }
    //echo "PZ>$waslast\r\n";
    
    $handle = @fopen($filename, "r");
    
    //$query = sql_query("DELETE FROM tardat",$link);
    
    $lastrecord = "";
    if(empty($waslast)) $write=true;
    
    if ($handle) {
    	$count = 0;
    	$lines = 0;
    	while (!feof($handle)) {
    		$lines++;
    		$buffer = fgets($handle, 4096);
    		
    		if(substr($buffer,2,1)=="/" AND $waslast<$lines)
    		{
    			$lastrecord = $lines;
    //			echo "$count: $buffer";
    
    			$echo = false;
    			$pos1 = 0;
    			$pos2 = 0;
    			$pos3 = 0;
    			$pos4 = 0;
    
    			$findme = '<D>';
    			$pos1 = strpos($buffer, $findme);
    			$findme = '<I>';
    			$pos2 = strpos($buffer, $findme);
    			$findme = ' ';
    			$pos3 = strpos($buffer, $findme, $pos2);
    			$pos4 = strpos($buffer, $findme, 28);
    
    			$linka = substr($buffer,23,4);
    
    			$smer = 0;
    			$kam = "";
    			if($pos2>0)
    			{
    				$smer = 1;
    				if($pos1>0)
    				{
    					$kam = substr($buffer,$pos1+3,$pos2-$pos1-3);
    				}
    				if($linka == "0021")
    				{
    					$kam = "123456789"; //cislo GSM brany
    				}
    				$kdo = substr($buffer,$pos2+3,$pos3-$pos2-3);
    			}
    			else
    			{
    				$kam = substr($buffer,28,$pos4-28);
    				$kdo = "";
    			}
    
    			$predvolba = "420";
    			if(substr($kam,0,2)=="00")
    			{
    				$predvolba = "";
    				switch($kam[2])
    				{
    					case "3":
    						switch($kam[3])
    						{
    							case "0":
    							case "3":
    							case "6":
    								$predvolba = $kam[2].$kam[3];
    								break;
    							case "5":
    							case "7":
    							case "8":
    								$predvolba = $kam[2].$kam[3].$kam[4];
    								break;
    						}
    						break;
    							case "4":
    								switch($kam[3])
    								{
    									case "2":
    										$predvolba = $kam[2].$kam[3].$kam[4];
    										break;
    									case "3":
    									case "4":
    									case "6":
    									case "7":
    									case "8":
    									case "9":
    										$predvolba = $kam[2].$kam[3];
    										break;
    								}
    								break;
    				}
    				$kam = substr($kam,strlen($predvolba)+2,99);
    			}
    			if(substr($kam,0,3)=="EXT") {
    				$kam = substr($kam,3,9);
    				$predvolba = "0";
    			}
    			$datum = substr($buffer,0,8);
    			$datum_pole = explode("/",$datum);
    			$datum = "".$datum_pole[2]."/".$datum_pole[1]."/".$datum_pole[0];
    			$cas = substr($buffer,9,7);
    			$klapka = substr($buffer,19,3);
    			$zvoneni = pocetsekund2(substr($buffer,80,4));;
    			$trvani = pocetsekund(substr($buffer,84,8));
    			$cd = "";
    			$cd = substr($buffer,116,2);
    
    
    			$count++;
    			$query = sql_query("INSERT INTO tardat (datum,cas,klapka,predvolba,kam,kdo,trvani,zvoneni,smer,linka,cd,vlozeno) VALUES ('$datum', '$cas', '$klapka', '$predvolba', '$kam', '$kdo', '$trvani', '$zvoneni', '$smer', '$linka', '$cd','".date("Y-m-d H:i:s")."')",$link);
    		}
    	}
    //	echo "LR>$lastrecord\r\n";
    //	echo "Lines read: $lines\r\n";
    	if($count>0) {
    		$fp = @fopen($lastfile, "w");
    		fwrite($fp , $lastrecord );
    		fclose($fp );
    //		echo "Do DB bylo ulozeno $count zaznamu\r\n";
    		flush();
    		$query = sql_query("INSERT INTO tardat_log (vlozeno,text) VALUES ('".date("Y-m-d H:i:s")."','skript probehl - Do DB bylo ulozeno $count zaznamu - Lines read: $lines')",$link);
    	}
    	fclose($handle);
    }
    
    return 1;
    ?>
    

           

    Hodnocení: 100 %

            špatné • dobré        

    Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

    Komentáře

    Vložit další komentář

    mosquitor avatar 23.7.2009 13:53 mosquitor | skóre: 4 | blog: mosquitor
    Rozbalit Rozbalit vše Re: Export dat z telefonní ústředny Panasonic do databáze
    Příloha:

    Ještě by možná někdo uvítal i seznam předvoleb, který používám v aplikaci pro zobrazování dat.

    mosquitor avatar 23.7.2009 14:01 mosquitor | skóre: 4 | blog: mosquitor
    Rozbalit Rozbalit vše Re: Export dat z telefonní ústředny Panasonic do databáze

    Pokud by se nekomu hodila i ta webova aplikace, ktera data zobrazuje, tak mu ji poskytnu, ale vzhledem k jejimu stavu bych to moc nezverejnoval :)

    23.7.2009 14:39 Tomáš
    Rozbalit Rozbalit vše Re: Data o hovorech z telefonní ústředny Panasonic do databáze
    Asi neřeknu nic nového, u konzolové aplikace bych se obloukem vyhnul PHP. Chápu, že s PHP děláš pořád, ale raději bych zkusil přímo BASH (trochu by ses ho naučil). Případně i nějaký kompilovaný jazyk, když to má běžet každých 5 sekund.
    Limoto avatar 23.7.2009 15:35 Limoto | skóre: 32 | blog: Limotův blog
    Rozbalit Rozbalit vše Re: Data o hovorech z telefonní ústředny Panasonic do databáze

    Máš tu nějaký křivý komentáře...

    Limoto avatar 23.7.2009 15:35 Limoto | skóre: 32 | blog: Limotův blog
    Rozbalit Rozbalit vše Re: Data o hovorech z telefonní ústředny Panasonic do databáze

    Sakra, už ne...

    Limoto avatar 23.7.2009 15:36 Limoto | skóre: 32 | blog: Limotův blog
    Rozbalit Rozbalit vše Re: Data o hovorech z telefonní ústředny Panasonic do databáze

    A tak jo, je to jenom když se zobrazí blogpost, v samotné diskuzi ne. Asi chybí </i> v blogpostu...

    23.7.2009 15:51 Robert Krátký | skóre: 94 | blog: Robertův bloček
    Rozbalit Rozbalit vše Re: Data o hovorech z telefonní ústředny Panasonic do databáze
    Dovolil jsem si to opravit.
    5.10.2018 09:00 Thanos
    Rozbalit Rozbalit vše Re: Data o hovorech z telefonní ústředny Panasonic do databáze
    There are the best setting to your all way of windows version online to find sync settings windows 10 this is the help full for you access the main task menu for batter work.
    12.11.2019 11:41 Harshit
    Rozbalit Rozbalit vše Re: Data o hovorech z telefonní ústředny Panasonic do databáze
    I appreciate your post and look forward to more. Looking to read your next post. I'm really impressed with the info you provide in your articles. We are providing WSSO Maharastra Careers to get for more info.

    Založit nové vlákno • Nahoru

    ISSN 1214-1267   www.czech-server.cz
    © 1999-2015 Nitemedia s. r. o. Všechna práva vyhrazena.