<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>tom does things &#187; scripts</title>
	<atom:link href="http://tech.tomgoren.com/archives/category/scripts/feed" rel="self" type="application/rss+xml" />
	<link>http://tech.tomgoren.com</link>
	<description>useful (?) scripts</description>
	<lastBuildDate>Sat, 01 Oct 2011 18:29:23 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>HBase migration across major versions of HBase (0.2x -&gt; 0.9x)</title>
		<link>http://tech.tomgoren.com/archives/284</link>
		<comments>http://tech.tomgoren.com/archives/284#comments</comments>
		<pubDate>Thu, 29 Sep 2011 23:28:22 +0000</pubDate>
		<dc:creator>tom</dc:creator>
				<category><![CDATA[scripts]]></category>
		<category><![CDATA[backup]]></category>
		<category><![CDATA[cloudera]]></category>
		<category><![CDATA[hadoop]]></category>
		<category><![CDATA[hbase]]></category>
		<category><![CDATA[python]]></category>
		<category><![CDATA[thrift]]></category>

		<guid isPermaLink="false">http://tech.tomgoren.com/?p=284</guid>
		<description><![CDATA[Background: I inherited a legacy version of the hadoop stack (0.20.2) running hbase v. 0.20.3 on top. As this is quite an old and unsupported version, we obviously wanted to upgrade. The main problem with this is that this system is already in use in production, thus increasing the upgrade risks. In addition, the instance [...]]]></description>
		<wfw:commentRss>http://tech.tomgoren.com/archives/284/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Ruby on Rails served by unicorn with nginx for static files and reverse proxy on Ubuntu &#8211; detailed guide.</title>
		<link>http://tech.tomgoren.com/archives/245</link>
		<comments>http://tech.tomgoren.com/archives/245#comments</comments>
		<pubDate>Thu, 10 Mar 2011 15:39:01 +0000</pubDate>
		<dc:creator>tom</dc:creator>
				<category><![CDATA[scripts]]></category>
		<category><![CDATA[/etc/init.d/]]></category>
		<category><![CDATA[bash]]></category>
		<category><![CDATA[gem]]></category>
		<category><![CDATA[nginx]]></category>
		<category><![CDATA[rails]]></category>
		<category><![CDATA[rake]]></category>
		<category><![CDATA[RoR]]></category>
		<category><![CDATA[ruby]]></category>
		<category><![CDATA[sys-v]]></category>
		<category><![CDATA[Ubuntu]]></category>
		<category><![CDATA[unicorn]]></category>

		<guid isPermaLink="false">http://tech.tomgoren.com/?p=245</guid>
		<description><![CDATA[Ruby, the ever-so-popular scripting language and Rails &#8211; one of the leading web application frameworks are prone to serious performance issues if not served efficiently. Enter unicorn, a high performance replacement for mongrels and such. And of course, my goto tool for all things http: nginx. This is a short step-by-step detailed guide to achieving [...]]]></description>
		<wfw:commentRss>http://tech.tomgoren.com/archives/245/feed</wfw:commentRss>
		<slash:comments>7</slash:comments>
		</item>
		<item>
		<title>Owner/Group/Permissions Synchronization</title>
		<link>http://tech.tomgoren.com/archives/225</link>
		<comments>http://tech.tomgoren.com/archives/225#comments</comments>
		<pubDate>Thu, 11 Feb 2010 09:46:13 +0000</pubDate>
		<dc:creator>tom</dc:creator>
				<category><![CDATA[scripts]]></category>
		<category><![CDATA[accidentally]]></category>
		<category><![CDATA[bash]]></category>
		<category><![CDATA[chmod]]></category>
		<category><![CDATA[chown]]></category>
		<category><![CDATA[permissions]]></category>
		<category><![CDATA[sync]]></category>

		<guid isPermaLink="false">http://tech.tomgoren.com/?p=225</guid>
		<description><![CDATA[Image the following scenario: cd /etc chown root.root * -R OOPS You have just destroyed the server. This, and other similar mishaps (i.e. chmod 777 / -R) occur more often than one would imagine. If you are in luck like me, you have access to more than one linux server, and in most cases these [...]]]></description>
		<wfw:commentRss>http://tech.tomgoren.com/archives/225/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Apache Cluster Config Sync</title>
		<link>http://tech.tomgoren.com/archives/214</link>
		<comments>http://tech.tomgoren.com/archives/214#comments</comments>
		<pubDate>Mon, 11 Jan 2010 19:07:21 +0000</pubDate>
		<dc:creator>tom</dc:creator>
				<category><![CDATA[scripts]]></category>
		<category><![CDATA[apache]]></category>
		<category><![CDATA[bash]]></category>
		<category><![CDATA[cluster]]></category>

		<guid isPermaLink="false">http://tech.tomgoren.com/?p=214</guid>
		<description><![CDATA[It has become quite commonplace today, for high traffic sites to require more than one web server. Here is a small script in charge of synchronizing the server configuration files (/etc/httpd in this example). In this case, I will be using apache as the web server of choice, simply because of its prevalence and popularity, [...]]]></description>
		<wfw:commentRss>http://tech.tomgoren.com/archives/214/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>MySQL Static Cache Daemon usage example</title>
		<link>http://tech.tomgoren.com/archives/189</link>
		<comments>http://tech.tomgoren.com/archives/189#comments</comments>
		<pubDate>Sat, 09 Jan 2010 16:04:05 +0000</pubDate>
		<dc:creator>tom</dc:creator>
				<category><![CDATA[scripts]]></category>
		<category><![CDATA[daemon]]></category>
		<category><![CDATA[example]]></category>
		<category><![CDATA[mysql]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[python]]></category>
		<category><![CDATA[XML]]></category>

		<guid isPermaLink="false">http://tech.tomgoren.com/?p=189</guid>
		<description><![CDATA[As promised, here is short example of the Daemon in operation. First, in order to generate some data for us to work with, I did the following: This nice page shows us how to get various stock data from Yahoo, who are kind enough to provide an easy-to-access API to their data, and even retrieve [...]]]></description>
		<wfw:commentRss>http://tech.tomgoren.com/archives/189/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>MySQL Static Cache Daemon</title>
		<link>http://tech.tomgoren.com/archives/163</link>
		<comments>http://tech.tomgoren.com/archives/163#comments</comments>
		<pubDate>Tue, 05 Jan 2010 09:52:23 +0000</pubDate>
		<dc:creator>tom</dc:creator>
				<category><![CDATA[scripts]]></category>
		<category><![CDATA[/etc/init.d/]]></category>
		<category><![CDATA[bash]]></category>
		<category><![CDATA[chkconfig]]></category>
		<category><![CDATA[daemon]]></category>
		<category><![CDATA[init]]></category>
		<category><![CDATA[mysql]]></category>
		<category><![CDATA[python]]></category>
		<category><![CDATA[sys-v]]></category>

		<guid isPermaLink="false">http://tech.tomgoren.com/?p=163</guid>
		<description><![CDATA[The problem that this program was designed to solve is a rapidly changing MySQL table in use by a high-traffic website. For instance, stock quotes on the front page of a bank&#8217;s or investments firm&#8217;s site. The data is constantly updated by a service on the backend, and is referred to by some ajax widget [...]]]></description>
		<wfw:commentRss>http://tech.tomgoren.com/archives/163/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>MySQL on Windows Batch Backup Script</title>
		<link>http://tech.tomgoren.com/archives/156</link>
		<comments>http://tech.tomgoren.com/archives/156#comments</comments>
		<pubDate>Mon, 30 Nov 2009 19:25:46 +0000</pubDate>
		<dc:creator>tom</dc:creator>
				<category><![CDATA[scripts]]></category>
		<category><![CDATA[batch]]></category>
		<category><![CDATA[mysql]]></category>

		<guid isPermaLink="false">http://tech.tomgoren.com/?p=156</guid>
		<description><![CDATA[Don&#8217;t ask me why scripting in batch is still necessary on the verge of the year 2010, however, what can you do when some clients still use Windows to host their MySQL servers&#8230; REM Simple MySQL backup script per database @echo off REM Set some variables set mysqlcmd=&#34;C:\Program Files\MySQL\MySQL Server 5.0\bin\mysql.exe&#34; set mysqlpwd=amazingsecretsamplepassword set mysqlconnect=%mysqlcmd% [...]]]></description>
		<wfw:commentRss>http://tech.tomgoren.com/archives/156/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>MySQL replication monitoring with Python</title>
		<link>http://tech.tomgoren.com/archives/86</link>
		<comments>http://tech.tomgoren.com/archives/86#comments</comments>
		<pubDate>Mon, 27 Jul 2009 23:21:56 +0000</pubDate>
		<dc:creator>tom</dc:creator>
				<category><![CDATA[scripts]]></category>
		<category><![CDATA[mysql]]></category>
		<category><![CDATA[python]]></category>
		<category><![CDATA[replication]]></category>

		<guid isPermaLink="false">http://tech.tomgoren.com/?p=86</guid>
		<description><![CDATA[Setting up a MySQL fail over Master-Master replication system is something one can find many guides for. However, monitoring and recovering from a failure of the system is not as well documented, according to a quick Google search. The top items from that search were: Something called: MYSQL master-master replication monitor shell script that mainly [...]]]></description>
		<wfw:commentRss>http://tech.tomgoren.com/archives/86/feed</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>RAID controller *NIX agent</title>
		<link>http://tech.tomgoren.com/archives/55</link>
		<comments>http://tech.tomgoren.com/archives/55#comments</comments>
		<pubDate>Tue, 21 Jul 2009 14:02:10 +0000</pubDate>
		<dc:creator>tom</dc:creator>
				<category><![CDATA[scripts]]></category>
		<category><![CDATA[adaptec]]></category>
		<category><![CDATA[bash]]></category>
		<category><![CDATA[cron]]></category>
		<category><![CDATA[for loop]]></category>
		<category><![CDATA[IBM]]></category>
		<category><![CDATA[mail]]></category>
		<category><![CDATA[RAID]]></category>

		<guid isPermaLink="false">http://tech.tomgoren.com/?p=55</guid>
		<description><![CDATA[When managing a large number of servers, it is most likely that you will come across a server that makes use of a RAID controller, and as such you will need to know the status of the disks and the disk array. As these are usually proprietary controllers, normal tools like ipmiutil, lshw, lspci, etc. [...]]]></description>
		<wfw:commentRss>http://tech.tomgoren.com/archives/55/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Convert MySQL Tables: MyISAM to InnoDB</title>
		<link>http://tech.tomgoren.com/archives/5</link>
		<comments>http://tech.tomgoren.com/archives/5#comments</comments>
		<pubDate>Mon, 20 Jul 2009 16:47:24 +0000</pubDate>
		<dc:creator>tom</dc:creator>
				<category><![CDATA[scripts]]></category>
		<category><![CDATA[bash]]></category>
		<category><![CDATA[innodb]]></category>
		<category><![CDATA[myisam]]></category>
		<category><![CDATA[mysql]]></category>

		<guid isPermaLink="false">http://tech.tomgoren.com/?p=5</guid>
		<description><![CDATA[Not getting into the whole <em>which engine is the best</em> debacle, since obviously, like most important questions in life the answer is: "It depends."

In addition, most of what is written here can be used to convert from <em>any </em>engine to <em>any </em>engine, and thus answering any specific needs your might have.
I needed to convert MyISAM to InnoDB so here it is.

Without further ado...

As far as I know, there are two basic ways to accomplish this:
<ol>
	<li>
<pre lang="SQL"> ALTER TABLE 'tablename' ENGINE = InnoDB</pre>
For each table in the database.</li>
	<li> Dump the table, edit the dump file where it says "CREATE TABLE" and fix to the preferred engine, and then reload the data back into the DB</li>
</ol>
Obviously, these methods are ok when you are dealing with a few tables, however a while ago we had a client with a huge database with over 50 tables, so of course, a script was in place.
]]></description>
		<wfw:commentRss>http://tech.tomgoren.com/archives/5/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
	</channel>
</rss>

