Archiv autora: MOJEservery.cz

Linux mini-howto: Jak rychle smazat všechny tabulky v MySQL databázi

Linux mini-howto?
Krátce o nástrojích ze života sysadmina.

Databáze MySQL/MariaDB je důvěrně známá a napříč opensource světem široce používaná, obsahuje dva jednoduché SQL příkazy DROP TABLE a DROP DATABASE pro smázení tabulky či celé db.

mini-howto-mysql-delete-all-tables-blog-headerBohužel/bohudík neexistuje žadný příkaz “DROP ALL TABLES” ve smyslu smaž všechny tabulky v aktuální db.

Když už narazíte na “zkryplený” návrh celé DB, kde si původní autor dohání potřebu řádků a relací množstvím a tabulek a jejich jméno používá jako klíč je na čase po notné dávce relaxační hudby vymyslet jak smazat těch 1146 tabulek, jasně můžete udělat drop databases a pak create database, ale třeba to zrovna takto nechcete/nemůžete.

Varianta 1. (ktéra se mi vůbec nelíbí zápisem, ale je elegantní)

SET FOREIGN_KEY_CHECKS = 0; 
SET @tables = NULL;
SELECT GROUP_CONCAT(table_schema, '.', table_name) INTO @tables
  FROM information_schema.tables 
  WHERE table_schema = 'database_name'; 

SET @tables = CONCAT('DROP TABLE ', @tables);
PREPARE stmt FROM @tables;
EXECUTE stmt;
DEALLOCATE PREPARE stmt;
SET FOREIGN_KEY_CHECKS = 1; 

Varianta 2. (aneb plivneme si postaru unixovsky do dlaní)

# mysqldump -u[USERNAME] -p[PASSWORD] --add-drop-table --no-data [DATABASE] | grep ^DROP | mysql -u[USERNAME] -p[PASSWORD] [DATABASE]

Hotovo! Užívejte moudře a díky za pozornost.

František Havel, MOJEservery.cz

Realizováno! ZDARMA migrace emailů pro neziskovku SVIHAK.NET Mariánské Lázně

Realizováno!

Dobré věci má smysl podporovat, proto jsme velmi rádi a zcela zdarma, nezištně pomohli lokální neziskové organizaci Švihák Mariánské Lázně s migrací emailů z původního řešení outlook.com na novou platformu, včetně přirozeně přenesení emailů na nový IMAP poštovní server a pomoc s nastavením DNS, atd. … ani zpráva nepřijde nazmar.

Lokální projekty, akční skupiny a kreativci jsou pro region nesmírně duležití, je to náš motor, je to energie co nás posouvá dál, jsou šikovní a pracovití, utvářejí prostor kolem nás a definují náš okres a jeho vnímání, vytvářejí lepší život pro nás pro všechny.

Nezisková organizace Švihák


http://www.svihak.net

 

realizovani-svihak-net-ML-blog-header-256-2015

Některé zajímavé projekty Šviháků.

  1. PechaKucha Night
  2. Ludwig (Kýč je mrtev!)

  3. Slam Poetry

Podpořte je také, sdílejte, pracujte.

Děkujeme za příležitost a těšíme se na další spolupráci. MOJEservery.cz.

Mikrotik: Blokování a omezení multicast provozu

Mikrotik mini-howto? Krátce ze života s RouterOS.

Mikrotik blokování/omezení multicast

Nedávná realizace VPN tunelu pro zákazníka nás přivedla k jednomu drobnému problému, požadavek na začátku byl plně transparentní L2 tunel spojující dvě lokality, za normálních okolností je rozumné vyhnout se L2 bridge sítím přes VPN, raději děláme klasickou routovanou VPN.

Problem nastal po zjištění, že v lokalitě 1 je zdroj multicast provozu, který díky bridge proléza do druhé lokality přes VPN, dle zjišťování Mikrotik stále dosud neumí IGMP snooping (viz. kňučení zde http://forum.mikrotik.com/viewtopic.php?t=62073), který by tomu mohl zabránit.

Podobný problém jsem zaznamenal i v případě multicast provozu služby IPTV, který přicházel do Mikrotiku přes uplink port (typicky ether1-gateway) a díky výchozí konfiguraci zbytku portů routeru jako switche v kombinaci s bridgem bezdrátového rozhraní WLAN docházelo k šíření multicasti do WiFi, ± 10Mbit provoz trvale zaplavující wifi není ideální, zvláště pokud ho tam nikdo nechce.

Co je to Multicast?

IP multicast je metoda přeposílání IP datagramů z jednoho zdroje skupině více koncových stanic. Multicast adresy lze vcelku dobře identifikovat cílové adresa je v rozsahu třídy D (224.0.0.0 – 239.255.255.255), zdrojová adresa je unicast adresa odesílatele.

unicast-vs-multicast-1

Co je to IGMP snooping?

IGMP snooping je funkce dobřé známá z chytřejších switchů, kdy dochází ke zkoumání IGMP zpráv procházející switchem, zařízení si na jejich základě udržuje tabulku jakou multicast adresu posílat na jaký port, tedy data putují pouze tam kam mají a nezahlcují trasu kam nepatří, velmi zjednodušeně řečeno.

Multicast IGMP snooping
Multicast IGMP snooping

 

Hledané řešení je triviální

Varianta 1. Úplné blokování multicast provozu

/interface bridge filter add chain=output out-interface=wlan1 packet-type=multicast action=drop

Varianta 2. Omezení multicast provozu

Zapneme firewall na bridge, aby provoz prošel až na firewall/CPU a bylo možné s ním něco udělat.

/interface bridge settings set use-ip-firewall=yes

Markujeme(označíme) pakety multicastu.

/ip firewall mangle add chain=prerouting action=mark-connection new-connection-mark=multimark passthrough=yes dst-address-type=multicast
/ip firewall mangle add chain=prerouting connection-mark=multimark action=mark-packet new-connection-mark=multimark_packet passthrough=no

Máme označen multicast provoz, pomocí fronty omezíme jednoduše jeho rychlost na např. 512kbit.

/queue tree add parent=wlan1-parent packet-mark=multimark_packet max-limit=512k name="wlan1-limit-multicast"

A to je vše, takto nám to funguje.

Díky za pozornost. František Havel, MOJEservery.cz.

Realizováno! Konfigurace XEN datacentrum Master Praha

Realizováno!

Pro zakazníka Mediawork s r.o. provedena konfigurace virtualizačního hypervisoru Xen na fyzickém serveru Supermicro H8SGL, procesor 12x AMD Opteron, 40GB RAM a 5TB diskové prostoru v RAID konfiguraci.

Server je fyzicky umísťen v datacentru Master Praha.

Co je to XEN hypervisor ?

Xen je hypervizor poskytující rozhraní pro virtualizaci hardwaru a běh více operačních systémů na jenom počítači současně, laicky řečeno jde o řešení virtualizace operačních systému, na jednom fyzickém stroji je možné spustit více systémů, dochází tak krom jiného k lepšímu využití zdrojů.

xen-configure-mediawork-1

xen-configure-mediawork-2

Děkujeme za příležitost a těšíme se na další spolupráci. MOJEservery.cz.

Přemýšlíte o virtualizace nebo již virtualizujete?

Hledáte vhodné řešení, máte problém nebo se jen chcete poradit, zeptat na názor, konsolidovat? Nabízíme Vám naše mnohaleté zkušenosti a služby, naše řešení pro komplexní virtualizaci se vším všudy a zálohování  jako standardní součást. Kontaktujte nás.

Virtualizace s MOJEservery.cz.

http://www.mojeservery.cz/produkty-sluzby/virtualizace/

Linux mini-howto: Rdesktop a neviditelný kurzor myši Windows 2012R2

Linux mini-howto?
Krátce o nástrojích ze života sysadmina.

Drobná nepříjemnost dokáže rozladit den, čas od času je potřeba připojit se Windows mašině, nainstalujete svůj oblíbený nástroj rdesktop , zadáte něco smyslu tohoto.

# rdesktop -k en-us <ip_address> -u Administrator -d domain -p password

S očekáváním popadnete do ruky myš a chcete začít zuřivě klikat, ale ouha co to, nematé kurzor myši, je neviditelný, občas někde problikne a opět zmizí. S Windows se dá pracovat bez myši, jde to, ale dře to, jsou ale i horší noční můry.

Lze to naštěstí “fixnout” vypnutím vykreslováním stínu u kurzoru myši (Control Panel → Hardware → Mouse → Pointers), viz obrázek.

Vypnutí vykreslování stínu pro kurzor myši
Vypnutí vykreslování stínu pro kurzor myši

Snadné.

Ještě přikládám odkaz jak řešit pomocí Group Policy, to už je lehce vyšší dívčí.

http://www.paperstreetonline.com/2015/04/09/server-2012-rdesktop-fix-disappearing-mouse-cursor-with-group-policy/

Díky za pozornost. František Havel, MOJEservery.cz.

Výstup dmesg pro lidi, dmesg-human-readable

Linux mini-howto?
Krátce o nástrojích ze života sysadmina.

Výstup dmesg pro lidi


Byl položen jednoduchý dotaz, jak udělat výpis dmesg čitelný pro lidi ? Co lidem vadí nejvíce na výstupu dmesg je nečitelnost času, “defaultně” je místo snadno čitelného formátu času vypisován tzv. timestamp a má to svůj důvod, výstup může vypadat např. takto.

Dmesg výstup s časem ve formátu timestamp.
Dmesg výstup s časem ve formátu timestamp.

Uznávám, že to může být komplikace, ale opět platí jak kdy, např. situace kdy je potřeba zjistit čas mezi událostí A a B je při reprezentaci času formátem timestamp snadno řešitelná, pouze odečtete dvě čísla a to je snadné.

Chci “normální” čas, né timestamp!

Nástroj dmesg je součástí balíku nástrojů util-linux (https://www.kernel.org/pub/linux/utils/util-linux/), kolem verze 2.20.x (rok ~ 2012) byla přidána volba pro dmesg -T (nebo –ctime), podívejme se na to.

# man dmesg
---
-T, --ctime
Print human readable timestamps. The timestamp could be inaccurate!
---

# root@www:~# apt-cache show util-linux | grep Version
Version: 2.20.1-5.3
# root@www:~# dmesg -T
Dmesg výstup s časem ve formátu pro lidi (human-readable).
Dmesg výstup s časem ve formátu pro lidi (human-readable).

Můj dmesg neumí “-T”

Zatím to bylo vcelku snadné, ale jsou situace kdy není magický parametr k dispozici, typicky na embedded zařízení, např. OpenWrt routery s busybox nebo prostě máte starší verzi util-linux, zde si pomůžeme jednoduchým bash scriptem, uložte si ho např. do /usr/local/bin/dmesgh a nastavte ho jako spustitelný (chmod +x dmesgh), nejsem autorem, publikuji tak jak je, mám ho už roky ke spokojenosti.

#!/bin/bash
# Translate dmesg timestamps to human readable format

# desired date format
date_format="%a %b %d %T %Y"

# uptime in seconds
uptime=$(cut -d " " -f 1 /proc/uptime)

# run only if timestamps are enabled
if [ "Y" = "$(cat /sys/module/printk/parameters/time)" ]; then
  dmesg | sed "s/^\[[ ]*\?\([0-9.]*\)\] \(.*\)/\\1 \\2/" | while read timestamp message; do
    printf "[%s] %s\n" "$(date --date "now - $uptime seconds + $timestamp seconds" +"${date_format}")" "$message"
  done
else
  echo "Timestamps are disabled (/sys/module/printk/parameters/time)"
fi

Výstup je stejný jako v předchozím případě, dokonce jak je vidět ze scriptu provádí kontrolu zda-li jsou ve výstupu jádra povoleny timestamp, je možné je zcela potlačit.

#man dmesg

Studujte manuály, užívejte moudře, díky za pozornost.
František Havel, MOJEservery.cz

LinuxDays 2015, 10. a 11. října 2015, Praha

LinuxDays 2015, 10. a 11. října 2015, Praha


Jedna z nejlepších konferencí, událostí, meetup, … sešlostí české linux scény pro 2015 se přiblížila, od roku 2012 kdy LinuxDays plně nahradilo zdechnuté LinuxExpo konference roste a roste, byl jsem na každém ročníku a letošní vypadá na podle mě nejlepší, těším se a děkuji, děkuji organizátorům a přednášejícím, obrovské usilí a věnovaná energie, jste hrdinové.

Přijďte na LinuxDays, jde o nejlepší komunitní akci v ČR, nebudete litovat, lidé, technologie, pulzující tržiště nápadů.

linuxday-logo-2015

 

Co nás čeká a nemine na LinuxDays 2015?

https://www.linuxdays.cz/2015/

https://www.linuxdays.cz/2015/program/

https://www.linuxdays.cz/2015/lide/

https://www.linuxdays.cz/2015/misto-konani/

@LinuxDaysCZ

Vstup je volný. Kdo zaváhá nejede.

František Havel, MOJEservery.cz

Zálohování s rdiff-backup a rdiff-backup-fs FUSE filesystem.

Linux mini-howto?
Krátce o nástrojích ze života sysadmina.

Zálohování s rdiff-backup

Poslední dobou je na scéně kolem filesystémů pro Linux opět trochu život, upřímně chtěl bych stabilní filesystém s podporou snapshotování, co máme k dispozici? BTRFS není stable (netvrdím, že nedrží data, ale na produkci?, zatím stále ne), ZFS se mi líbí moc moc, prošel ohněm, je vyspělý, ale na produkci, když není v jádře a je to port ze Solarisu, kvůli kterému se musela napsat část “runtime” prostředí Solarisu, netvrdím, že to nejde, vpsFree.cz a Pavel Šnajdr dokazuje opak, ale pro komerční prostředí a support to není možné, respektive nepřistoupí na to.

Nově se nám na scéně ukazuje bcachefs, těžko cokoliv hádat, je to tak mladé (srpen 2015, https://lkml.org/lkml/2015/8/21/22) a slibuje to mnoho vlastností BTRFS a ZFS, nechme se překvapit. Ano pak tu máme LVM a snapshoty, ale LVM není filesystém a do dat o vrtstvu “vejš” nevidí, je moc fajn, ale né samospasitelné.

Nově se na scéně objevil (byl uvolněn) jaderný modul Datto Block Driver, modul přidává podporu pro snapshotování a inkrementální zálohování pro libovolné blokové zařízení (“přidává” COW, copy-on-write vlastnost trackováním write systémového volání, ze zdrojového kódu je vidět, že hookuje syscall table), aktuálně testuji, hraju si, čtu kód na workstation a samostatném disku, subjektivně je to dost rychlé.

Peleton nám uzavíra XFS filesystém, který používáme na produkci a na vše ostatní je tu EXT4, ani jeden z těchto filesystémů nepodporuje snapshoty.


rdiff-backup

Co používáme a proč? Chceme inkrementálně zálohovat data (ať už adresáře mezi sebou nebo přes síť), mít možnost jednoduše procházet zálohy a vracet se v čase, mazání starších záloh než XY, zrcadlový obraz původních dat, ACL, uchovávat pouze rozdíly, nenáročnost na přenosové pásmo, jednoduchost.

  • rdiff-backup
  • rdiff-backup-fs

Rdiff-backup je nástroj napsaný v Pythonu a splňuje naše potřeby, http://www.nongnu.org/rdiff-backup/features.html, uvnitř je postaven na knihovně librsync , existuje určitě bezpočet skvělých scriptů postavených nad rsync nástrojem a potulujích se po internetu, ale proč nepouží rdiff-backup přímo z repositáře.

Skvělou možnost přidáva právě rdiff-backup-fs, což je modul pro FUSE (Filesystem in Userspace), díky němu je možné připoji (mount) zálohy do adresářové struktury a získat tak přístup ke “snapshotům” dat v čase formou adresářů v mount složce s datumem a časem pořízení zálohy.

S takto udělaným backup se dá trochu čarovat a zpřístupnit zpětně uživateli jeho zálohy jako read-only, např. přes Sambu, NFS apod., přiznávám není to tak elegantní jako udělat na ZFS snapshot pool/test@mojezaloha a mít to vše včetně read-only.

Dnes to bude bez praktické ukázky, jednak nechci ukazovat data ze záloh na produkci ani osobní workstation a druhak je to velmi jednoduché.

rdiff-backup dir1 dir2
rdiff-backup dir1 user@system::/dir2

# nejnovější obnova
rdiff-backup -r now /backupdit/data1 /obnova/data1

# obnova stav před 5 dny
rdiff-backup -r 5D /backupdit/data1 /obnova/data1

# obnova stav k datu
rdiff-backup -r 2015-09-20 /backupdit/data1 /obnova/data1

# odstranění záloh starší než ...
rdiff-backup --remove-older-than 31D /backupdir/data1

# rdiff-backup-fs (FUSE), mount zálohy přes FUSE
# ---
rdiff-backup-fs /mnt /backupdir/data1
ls -la /mnt
umout /mnt

Pozn 1.: Pokud budete obnovovat data do stejné složky odkud probíhala záloha a pujde o přepis tak rdiff bude křičet, je nutné použít parametr –force.

Pozn 1.: K rdiff-backup-fs mount složce je nutné přistupovat jako root (dáno std FUSE technologií), pokud se to nehodí mrkněte do /etc/fuse.conf.

Rdiff-backup má jako většina nástrojů v unixech “hromadu” přepínačů, studujte man rdiff-backup.

A to je vše, užívejte moudře a zálohujte, díky za pozornost.

František Havel, MOJEservery.cz

Tři měsíce se Zen To Done, Zen a hotovo!

Tři měsíce se Zen To Done.

Zen_Habits-logo

Na začátku podnikání jsem se rozhodl změnit přístup k osobnímu managementu, již dříve v minulosti (cca 4 roky zpět) jsem se pokoušel o GTD (Getting Things Done), metoda zajímavá, vše jsem měl zpracované do kontextů, tříděné a zprvu to vypadalo jako, že jsem produktivní, problém podle měl byl s efektivitou GTD, točil jsem se v bludném kruhu, ono totiž efektivita není o tom udělat vše, ale udělat jen to podstatné, co je důležité. GTD mě nutilo udělat vše, mít prázdný inbox, ale už mě nenutilo udělat nebo rozlišit to podstatné.

Kniha ZEN A HOTOVO, zcela jednoduchý systém osobní produktivity , http://www.melvil.cz/kniha-zen-a-hotovo/ , vše podstatné je uvnitř, prečteno pohodlně za víkend.

Vše by mělo být vymyšleno tak jednoduše, jak je to jen možné - ale ne jednodušeji. Albert Einstein

Co se mi líbí na ZTD (osobní pohled)

  • minimalismu (miluji minimalismu)
  • minimální verze ZTD, nemusíte osvojovat veškeré návyky
  • neosvojujete návyky najednout, ale postupně, u GTD to na mě padlo celé najednou (teď začneš každý den dělat tohle, tohle, tohle a tamto)
  • věci mají svoji důležitost (zasadní podle mě a pro mě)
  • nejdůležitější úkol(y) dne a týdne, překvapivě funkční věc
  • nutí člověka zjednodušovat, zjednodušení je klíčem k efektivitě
  • mluvením nic neuděláš
  • ZTD je o práci nikoliv o celém systému jako GTD
  • kniha je malá, hubená, minimalistická
"Věci, na kterých záleží nejvíce, by něměly být vydány na milost těm, na kterých nezáleží vůbec." Goethe

Předchozí text popisuje velmi zlehka osobní zkušenosti s praktikováním a spíše první pocity ze ZTD, nechytejte mě za slova, znova je to osobní. Cítím se lépe, mám pocit, že to podstatné zvládám, věci se posouvají dopředu, ano jsou věci co nestíhám, ale nic kritického se kvůli tomu neděje (zatím). Na ZTD není potřeba nic, stačí zápisník (používám obyčejný, ale vyhlédnul jsem si notes Moleskine) a výhodou je po ruce telefon s přístupem k emailu a kalendáři (Google Apps), nic více a k tomu minimalistické návyky.

Logovat → Sort → Plánování → Výkon → Odpočinek.

ZTD není podle mě to týmu, je to o osobní produktivitě a vlastním zvládání času (života), toto je osobní názor a pocit.

Přemýšlím, že napíši aplikaci pro Android s orientací na ZTD, mám trochu představu jak by to mělo vypadat, hodil by se parťák.

A poslední věc, žádný systém nepovede k dlouhodobému úspěchu a štěstí pokud neděláte co Vás baví a nevěnujete tomuto 100%.

Máte zájem o zapůjčení knihy ? Ozvěte se. To je vše!

Děkuji za pozornost. František Havel. MOJEservery.cz

zen-to-done-ZTD-2

zen-to-done-ZTD-3