přejít na obsah přejít na navigaci

Linux E X P R E S, Kterak skripty zvítězily nad Windows

Kterak skripty zvítězily nad Windows

Je to pár dní, co jsem byl požádán jednou nejmenovanou firmou o převod jejich webového portálu na naše firemní linuxové servery. Obvykle v tom nebývá žádný problém, bohužel tentokrát jsem se zmýlil. Zákazník měl totiž původně stránky na hostingu s OS Windows.


Za společné asistence majitele jsme nejprve stránky zkopírovali do testovacího prostředí na mém notebooku. Nastavili jsme web server Apache a zadali správnou url do prohlížeče. Kromě chybového hlášení se však nic neukázalo. Letmým pohledem do adresáře s daty mi ihned bylo jasné proč. Soubor se nejmenoval index.php ale Index.php. Nezbylo mi tedy nic jiného, než všechny soubory, (které byly jednou s malým písmenem a podruhé s velkým písmenem na začátku - asi podle toho jak se programátor vyspal) sjednotit. Nejprve jsem si chtěl ověřit, kolik souborů portál obsahuje. Z příkazu

# ls -plaR | wc -l 

na mě vyštěklo třímístné číslo a tak bylo jasné, že převod názvů budeme řešit skriptem a nikoliv ručně. Zákazník nejenom že prudce zezelenal ale po té, co jsem zadal do terminálu příkaz

# for F in * ; do mv $F `echo $F | tr 'A-Z' 'a-z'` ; done 

a prohlásil hotovo! mu ještě spadla brada.


S úsměvem na tváři jsem opět otevřel prohlížeč a znovu zadal adresu. Stránka se již sice zobrazila, ovšem přečíst se díky "pokažené" češtině nedala. Intuitivně jsem si ve Firefoxovi (pomocí CTRL + u) zobrazil zdrojový kód stránky a takříkajíc "na jisto" pátral po meta tagu http-equiv, kde jak jsem předpokládal, bylo nastaveno kódování windows-1250. Zákazníkovi jsem spolu s patřičným vysvětlením doporučil přechod na kódování UTF-8. Po několika minutách debatování souhlasil. Editovat stovky souborů se mi opět nechtělo a tak na řadu přišel další skript. Jeho úkolem bylo nahradit řetězec charset=windows-1250 za řetězec charset=UTF-8. Přesunul jsem se do adresáře se soubory a použil příkaz find, který jsem doplnil o xargs a substituci textu perlem.


find . -type f -name '*.php' | xargs -i perl -i -pe 's/charset=windows-1250/charset=UTF-8/;' {}

Zákazník byl opět v úžasu, ovšem tím má práce nebyla zdaleka hotová. Kromě změny tagu bylo potřeba ještě překódovat samotný obsah všech skriptů. K mé smůle byly jednotlivé soubory v různých kódováních počínaje iso8859-2 přes utf-8 až po windows-1250. S tím mi pomohl program enca (sudo apt-get install enca) a tak výsledný skript opět nebyl až tak složitý


find . -type f -name '*.php' -print0 | xargs --no-run-if-empty -0 enca -x UTF-8

 

Zbývalo jen změnit záznamy v DNS a "měl jsem vyděláno".


Celý převod domény trval řádově do 10 minut. Docela by mě zajímalo, jak dlouho by trval převod administrátorovi Windows, kdyby byla situace opačná.

Nahoru

Přidat názor

Nejsou podporovány žádné značky, komentáře jsou jen čistě textové. Více o diskuzích a pravidlech najdete v nápovědě.
Diskuzi můžete sledovat pomocí RSS kanálu rss



 
 

Top články z OpenOffice.cz

Milan Kozák

Milan Kozák

I přestože jsem paranoidní neznamená, že mě nedostanou...


  • Distribuce: Debian, *BSD, Slackware

| blog



Public Relations

Bezpečné zálohování a spolehlivá obnova dat jsou odpovědí na všudypřítomnou hrozbu ransomwaru

VeeamUž to tak vypadá, že ransomware ze světa nezmizí, a organizace se tomu musí přizpůsobit, aby dokázaly tuto hrozbu přežít a zajistit odolnost svého podnikání vůči jejím dopadům. Na ransom­ware se musíme přestat dívat jako na náhodnou událost, ale vnímat ji jako stále přítomnou hrozbu, kdy už není otázka, zda a kdy, ale jak často nás zasáhne.

Pokračování ...



Public Relations

Jak se chránit před zranitelnostmi? MSP službou!

ZebraPočet softwarových zranitelností neustále roste – zatímco v roce 2021 bylo dle informací katalogu CVE zjištěno celkem 20 171 zranitelností, vloni došlo k dalšímu nárůstu na rekordních 25 277 případů. Navíc také roste jejich závažnost, a i v roce 2022 se zvýšil počet tzv. kritických zranitelností. Mezi nimi například proslulý Log4J.

Pokračování ...



Public Relations

Průkopnická automatizovaná obrana pohyblivých cílů

SophosS tím, jak se prostředí kybernetických hrozeb stává stále složitějším, bezpečnostní týmy čelí rapidnímu nárůstu počtu hrozeb. Mnoho organizací se potýká s vysokým počtem výstrah a falešně pozitivních hlášení, což vede k neustálému úsilí o jejich vyřešení a zbytečnému zatěžování zdrojů a snižování účinnosti zabezpečení.

Pokračování ...