2010. május 19., szerda

Tiny script - Putty settings converter

Windows-Linux migráció során született nálam az igény, hogy a Windows alatt használt putty-s beállításaimat valahogy át kéne pakolni linux alá ( tekintve, hogy elég sok szerver volt felvéve, így mindet manual ismét felpakolni elég nagy macera lett volna ). Ezen igény kielégítésére született az alábbi kis scriptecske. Gondoltam publikálom hátha még valakinek jól jön:
http://pastebin.com/TYxfLXFL
A folyamat kb a következőképp néz ki:
- Windows alól első körben ki kell exportáljuk a putty-s beállításainkat a registryből ( regedit.exe /e putty_settings.reg HKEY_CURRENT_USER\Software\SimonTatham\PuTTY\Sessions )
- A kiexportált .reg file-t át kell konvertáljuk UTF16ról valami emberibb formátumba ( UTF-8, CP-1250 ). Ehhez én a lokális gépen notepad++-t használtam, de ha cygwin alá felrakjuk az iconv-t azzal is megy ( megoldható lett volna egy perl alatti iconv modul include-olása, de mivel az is külső modult igényelt volna, így azt elvetettem )
- A scriptben megadjuk a .reg file helyét ( éljen a hardcoding :D (Jó tudom.. Lusta voltam megírni, hogy megkérdezze :))
- A scriptet futtatva ( nálam épp cygwinből, de elvileg activeperl is használható ) az aktuális mappába legenerálja nekünk a linux alatt használható file-okat
- A generált file-okat a ~user/.putty/sessions mappa alá bepakolva már is a helyükön lesznek a session-ök :)
Amire figyelni kell:
- Ha van beállítva logolás, akkor linux alatt azt ildomos átlőni ( egy sed szerintem totál megteszi erre a célra )
- A használt kulcsfile-t érdemes szintén átlőni
For the trolls:
Nem mondom, hogy szép, vagy hogy nem lehetne rajta fejleszteni, csupán egy szerintem elégséges alap az adott feladat ellátására. Viszont ha van bárkinek bármilyen javaslata ( kódolás során megejtett hibák főként ) amiből érdemes tanulni azt most is szívesen fogadom.