Archívum
PHP: felesleges nullák eltüntetése a MySQL DECIMAL típusból
Gondoltam lusta leszek és rákeresek a Google tudástárban, hogy hátha van ilyen paramétere mondjuk a numer_format() -nak.
A probléma az, hogy ha az adatbázisból pl. DECIMAL 6,2 formátumban érkezik egy egész szám, akkor a “.00″ ott lesz a végén, pedig értelme ebben az esetben nem sok.
// $szam = "12.00"; echo $szam; // 12.00
Aztán eszembe jutott az automatikus típuskonverzió, így a megoldás:
echo ($szam*1);
Idézőjelek cseréje PHP-ban, a Word-höz hasonlóan
Mert később is szükségem lehet rá és tuti nem fog eszembe jutni milyen egyszerű is ez :)
function WordQuotes($text) {
return preg_replace('/"(.*?)"/', '„$1”', $text);
}
Az USB pendrive képfájl író/mentő programok királya
Mivel az optikai meghajtóknak – szerencsére – leáldozott, ezért a rendszer visszaállító eszközöket, Windows és Linux telepítőket bootolható pendrivera írom, így kényelmesebb, gyorsabb és mindig a legfrissebb lehet a zsebemben. Hasonlóképpen mindenhol pendriveról futtatom az ESXi 4.1-et és az ESXi 5-öt is.
Sajnos egyszer úgy döntött az ESXi 4.1-et tartalmazó pendrive az ország másik végén, hogy nincs kedve tovább működni, a helyszínen pedig csak egy kis kapacitású volt épp kéznél a helyzet megmentésére.Természetesen nem volt informatikai ismeretekkel bíró személy, ezért csak a “távoli asztal” és a gépbe helyezett pendrive maradt. Segítség nélkül sajnos az ESXi telepítésére nem volt lehetőség, plusz aggódtam is amiatt, hogy az ESXi telepítéskor mintha figyelmeztetne, hogy törli a rendelkezésre álló merevlemezek tartalmát. Természetesen az álló szerver képernyőjét nem értem el távolról. Így egyetlen megoldásnak azt találtam, hogy az itthoni HP Microservert leállítom, készítek az ESXi pendriveról egy képfájt, azt neten elküldöm, majd ráírom ott az üresre.
Természetesen itthon nagyobb kapacitású volt, mint a helyszínen, ezért a létrehozott partíció méretek sem stimmeltek. A szokásos csoda image tool programok gyorsan felejtősek lettek. Ekkora találtam rá a csodaprogramra “USB Image Tool” néven, Alexander Beug kezei által.
A csoda, amire pont a legjobbkor volt képes pedig az, hogy a képfájlt automatikusan átméretezte partícióstól, a kisebb pendrivera írás közben. Az ESXi bebootolt, a konfigot ugyan újra létre kellett hozni, de adatvesztés nem történt :)
Cisco PoE switch: PoE áramellátás konfigurálása
Áramellátási információk:
show power inline
Beállítás módosítása:
configure terminal interface Fa0/20 power inline never
A választható állapotok:
auto, static, never
FTP feltöltő bináris VMWare ESXi-hez
Update: ESXi5 esetén ki kell kapcsolni a tűzfalat hozzá (a permanens tűzfal szabály hackelése nem tűnik túl barátinak)
Mivel legjobb tudomásom szerint csak SCP-vel lehet fájlokat másolni ESXi-ről, ezért a mentésnél (vagy ingyen mozgatásnál) jól jöhet az FTPput binárisa. Persze ezt is scp-vel kell feltölteni, futtatás jogot adni neki, majd SSH-n futtatni:
http://www.magikmon.com/download/mksbackup/ftpput
Erősen gyorsabb az SCP-nél és jóval kevesebb CPU-t is eszik. Épp egy ESXi backup scriptelése közben találtam eme gyöngyszemre…
iSCSI target file készítés Linux alatt
Az “iscsitarget” csomag webmin moduljánál szükség lehet erre, ugyanis a webminből nem lehet a fájlt létrehozni, csak létezőt felcsatolni. Lustaság fél egészség alapon…
dd if=/dev/zero of=/storage/iscsi/HU0190-000329.img count=0 obs=1 seek=80G
Exchange 2007 : Levelek exportálása PST fájlba
Mielőtt nekiugranál, előtte az egész irományt olvasd végig, több hajad marad…
Sajnos nem találtam még eddig jó, ingyenes mentési megoldást Exchange 2007 alá. Viszont az Exchange mentés/visszaállítás (nem csak) nekem egy kissé mumusnak számít. Biztos, ami tuti, eddig a legjobbnak azt tartom, ha PST-be ki tudom menteni a leveleket. Ha nagy baj van, csak felcsatolom egy újabb Outlookba és meg tudom nézni a keresett levelet.
A mentéshez nem elég elindítani a GUI-t és kattintani kettőt, mert a Microsoft új – idióta – divatját követve nincs erre lehet?ség grafikus felületen. Csakis a powershell lehet a barátunk. Miel?tt megörülnénk, hogy kiadunk egy “export2pst” parancsot és kész, rájövünk gyorsan, hogy a Microsoftnál semmi sem lehet ilyen egyszerű, ugyanis kell egy AD felhasználó, akinek jogot adunk arra, hogy hozzáférjen a mentendő postafiók tartalmához (nem-nem, az atyaúristennek, de még a domain/exchange adminnak sincs joga), amit a következőképpen tehetünk meg:
Add-MailboxPermission -Identity teszt.elek@domain.hu -User adminuser -AccessRights FullAccess
Ahol teszt.elek az a felhasználó (alias), akinek a fiókját szeretnénk majd menteni, adminuser pedig az a felhasználó, akinek erre jogot szeretnénk adni.
Ezek után már indíthatjuk az exportálást:
Export-Mailbox -Identity teszt.elek@domain.hu -PSTFolderPath C:\PSTFiles
Ahol a C:\PSTFiles az a mappa, ahova a mentett PST fájl kerül (teszt.elek.pst formában). A mappának léteznie kell, különben valami random hibaüzenet üdvözöl.
Ha az összeset szeretnék exportálni (és megvan rá a jogunk):
Get-Mailbox | Export-Mailbox -PSTFolderPath C:\PSTFiles
Amire szükséged lesz:
- Angol nyelvű, 32 bites operációs rendszer, ami legalább Windows XP SP2 (jobban jársz, ha eleve Vista-val próbálkozol, vagy WIN 7-el)
- Outlook 2007 (talán a 2003-al elmegy, de nem ajánlott)
- Domain tagság
- Powershell 1.x vagy újabb (a 2-es néha random hibával elszáll nekem)
- Türelem, kávé, nasi, flash játék vagy egyéb más tuning
Én létrehoztam egy VMWare 2.0-ban üzemelő virtuális Windows 7-et tesztképpen, ami iSCSI-val ment egy Linux-os iSCSI háttértárra. Eleinte elrontottam a telepítési sorrendet, ami a következő:
- Operációs rendszer
- Az összes frissítés
- A frissítések frissítése
- .NET framework
- Powershell
- Office 2007 (Outlook 2007)
- Exchange demo telepítőben található 32 bites Exchange 2007 SP1 management tools
Ha az Office a végén kerül fel, sok-sok random hbaüzenet jellemzi nekem Windows 7 alatt a próbálkozásokat. Természetesen Windows 7 alatt a 2-5 pontok kihagyhatóak.
Ha az exportálás elindult, és el sem pusztul, akkor örülhetsz
. Nem kell bevenni a szívgyógyszert, ha a a képernyőn a Moving Messages üzenet tűnik fel, másol és nem mozgat. 
Ha nem akar menni a dolog:
- próbáld meg valami magasabb jogú felhasználóval (akinek van joga PST exportra is)
- ellenőrizd, hogy nem fut-e az Outlook (nem szabad futnia)
- ne indíts Outlook-ot futás közben
- várj egy kicsit, majd próbáld újra egy újra megnyitott powershell ablakban (komoly, nem vicc)
- zárd be a powershell-t és próbáld újra a parancsot, majd megint és megint
- létezik a kimeneti mappa? van elég hely? írható?
- van engedélye a powershell-t futtató felhasználónak logolni a Program Files/Microsoft/Exchange Server/Logging mappába?
Hibaelhárítás:
Ha nem találja az alapértelmezett domain controller-t:
- Indíts egy Exchange Management Console Powershell-t, annak a nevében, akivel exportálni akarsz
- Írd be a következő parancsot: $AdminSessionADSettings
- Ellenőrizd a beállításokat. A változtatáshoz pl. a DC-t ilyen formában kell megadni: $AdminSessionADSettings.PreferredDomainControllers=”dc1.tormasi.hu”
- Próbáld meg kiadni a Get-Mailbox parancsot és ha sikerült jól beállítani, akkor menni fog.
Forrás és egyéb példák itt: http://technet.microsoft.com/en-us/library/bb266964.aspx
Utóirat: tudom, most az összes Microsoft szakértő sírva csapkodja a monitort, hogy az ilyen lelkes amatőr próbálkozások miatt nem halad jó irányban a képzés, de erre csak azt mondom, hogy régen nulla tudással beletanulhattál egy Windows Server-be, most meg van egy kazal információ amiből nem bírsz egy nagy egészet csinálni, hacsak nem vagy idő- és pénzmilliárdos. Kösz. 
Redmine első betöltésének gyorsítása
/etc/apache2/sites-enabled/@redmine
# Speeds up spawn time tremendously -- if your app is compatible.
# RMagick seems to be incompatible with smart spawning
RailsSpawnMethod smart
# Keep the application instances alive longer. Default is 300 (seconds)
PassengerPoolIdleTime 1000
# Keep the spawners alive, which speeds up spawning a new Application
# listener after a period of inactivity at the expense of memory.
RailsAppSpawnerIdleTime 0
# Additionally keep a copy of the Rails framework in memory. If you're
# using multiple apps on the same version of Rails, this will speed up
# the creation of new RailsAppSpawners. This isn't necessary if you're
# only running one or 2 applications, or if your applications use
# different versions of Rails.
RailsFrameworkSpawnerIdleTime 0
# Just in case you're leaking memory, restart a listener
# after processing 5000 requests
PassengerMaxRequests 5000
# only check for restart.txt et al up to once every 5 seconds,
# instead of once per processed request
PassengerStatThrottleRate 5














