<?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>HiTechSavvy Sys Admin</title>
	<atom:link href="http://www.hitechsavvy.com/?feed=rss2" rel="self" type="application/rss+xml" />
	<link>http://www.hitechsavvy.com</link>
	<description>What do geeks do all day?</description>
	<lastBuildDate>Wed, 16 May 2012 19:02:07 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.2</generator>
		<item>
		<title>Protected: Value Investing Myths</title>
		<link>http://www.hitechsavvy.com/?p=483&#038;utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=value-investing-myths</link>
		<comments>http://www.hitechsavvy.com/?p=483#comments</comments>
		<pubDate>Thu, 03 May 2012 13:26:07 +0000</pubDate>
		<dc:creator>jayfarschman</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://www.hitechsavvy.com/?p=483</guid>
		<description><![CDATA[There is no excerpt because this is a protected post.]]></description>
			<content:encoded><![CDATA[<form action="http://www.hitechsavvy.com/wp-pass.php" method="post">
<p>This post is password protected. To view it please enter your password below:</p>
<p><label for="pwbox-483">Password:<br />
<input name="post_password" id="pwbox-483" type="password" size="20" /></label><br />
<input type="submit" name="Submit" value="Submit" /></p></form>
<p class="facebook"><a href="http://www.facebook.com/share.php?u=http://www.hitechsavvy.com/?p=483" target="_blank" title="Share on Facebook">Share on Facebook</a></p><g:plusone href="http://www.hitechsavvy.com/?p=483"  size="standard"   annotation="none"  ></g:plusone>]]></content:encoded>
			<wfw:commentRss>http://www.hitechsavvy.com/?feed=rss2&#038;p=483</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Tuning mySQL &#8211; Because by default it&#8217;s not even close to tuned.</title>
		<link>http://www.hitechsavvy.com/?p=479&#038;utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=479</link>
		<comments>http://www.hitechsavvy.com/?p=479#comments</comments>
		<pubDate>Wed, 18 Apr 2012 14:38:07 +0000</pubDate>
		<dc:creator>jayfarschman</dc:creator>
				<category><![CDATA[CentOS / Redhat]]></category>
		<category><![CDATA[mySQL]]></category>
		<category><![CDATA[CentOS]]></category>
		<category><![CDATA[howto]]></category>
		<category><![CDATA[Linux Sysadmin]]></category>
		<category><![CDATA[tuning]]></category>

		<guid isPermaLink="false">http://www.hitechsavvy.com/?p=479</guid>
		<description><![CDATA[Basic tuning of the mySQL is accomplished in the /etc/my.cnf file. If you want to get all geeky and into this reference the seminal document over on the mysql dev site. This should result in a speed increase in your &#8230; <a href="http://www.hitechsavvy.com/?p=479">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Basic tuning of the mySQL is accomplished in the /etc/my.cnf file. If you want to get all geeky and into this reference the <a href="http://dev.mysql.com/doc/refman/5.0/en/innodb-configuration.html" target="_blank">seminal document</a> over on the mysql dev site. This should result in a speed increase in your system.  It certainly has in my system running mySQL 5.x.</p>
<p>The information below is expressed as a set of ratios that begins with your system RAM and then works from there.</p>
<pre>innodb_buffer_pool_size = $SYSTEMRAM/2
innodb_additional_mem_pool_size = $innodb_buffer_pool_size/20
innodb_log_file_size = $innodb_buffer_pool_size/4
innodb_log_buffer_size = $innodb_buffer_pool_size/50 or a minimum value of 8MB</pre>
<p>Note bene: Changing your log file size can results in a mySQL refusing to start.  Simply remove these files from you mysql data directory and they will be created on the next startup.</p>
<p class="facebook"><a href="http://www.facebook.com/share.php?u=http://www.hitechsavvy.com/?p=479" target="_blank" title="Share on Facebook">Share on Facebook</a></p><g:plusone href="http://www.hitechsavvy.com/?p=479"  size="standard"   annotation="none"  ></g:plusone>]]></content:encoded>
			<wfw:commentRss>http://www.hitechsavvy.com/?feed=rss2&#038;p=479</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Script to Move Database Location &#8211; mySQL</title>
		<link>http://www.hitechsavvy.com/?p=475&#038;utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=script-to-move-database-location-mysql</link>
		<comments>http://www.hitechsavvy.com/?p=475#comments</comments>
		<pubDate>Wed, 18 Apr 2012 14:25:25 +0000</pubDate>
		<dc:creator>jayfarschman</dc:creator>
				<category><![CDATA[CentOS / Redhat]]></category>
		<category><![CDATA[mySQL]]></category>
		<category><![CDATA[CentOS]]></category>
		<category><![CDATA[howto]]></category>
		<category><![CDATA[Linux Sysadmin]]></category>

		<guid isPermaLink="false">http://www.hitechsavvy.com/?p=475</guid>
		<description><![CDATA[Don&#8217;t run this script.  It&#8217;s a concept that I haven&#8217;t tested and running it is pretty well guaranteed to crash your mysql server.  It&#8217;s designed to make the relocation of data faster, but I don&#8217;t have time to finish it &#8230; <a href="http://www.hitechsavvy.com/?p=475">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Don&#8217;t run this script.  It&#8217;s a concept that I haven&#8217;t tested and running it is pretty well guaranteed to crash your mysql server.  It&#8217;s designed to make the relocation of data faster, but I don&#8217;t have time to finish it today.</p>
<p>You should probably use <a href="http://kaliphonia.com/content/linux/how-to-move-mysql-datadir-to-another-drive" target="_blank">this fellow link</a> because it works&#8230; it&#8217;s just slower and manual.  Oh, and if you do get a scripting urge, please make this script work properly for me and post it in a comment.  Thanks.</p>
<p>&nbsp;</p>
<pre>USER=root
PASSWORD=yourpassword
DBS="$(mysql --user=$USER --password=$PASSWORD -Bse 'show databases')"
OLDDATA_DIR="/var/lib/mysql"
NEWDATA_DIR="/database/lib/mysql"

mkdir -pv $NEWDATA_DIR

for FILE in ${DBS[@]}; do
        DATABASE=`basename $FILE`
        echo cp -R $OLDDATA_DIR/$DATABASE $NEWDATA_DIR/$DATABASE
done

# Set permissions
chown -R mysql:mysql $NEWDATA_DIR

# Archive the old &amp; link it to the new
mv $OLDDATA_DIR OLDDATA_DIR-old
ln -s $NEWDATA_DIR/$DATABASE $OLDDATA_DIR/$DATABASE

#get_mysql_option mysqld datadir "/database/lib/mysql"
sed -i  's|$OLDDATA_DIR|$NEWDATA_DIR|' /etc/init.d/mysqld
sed -i  's|$OLDDATA_DIR|$NEWDATA_DIR|' /etc/my.cnf</pre>
<p class="facebook"><a href="http://www.facebook.com/share.php?u=http://www.hitechsavvy.com/?p=475" target="_blank" title="Share on Facebook">Share on Facebook</a></p><g:plusone href="http://www.hitechsavvy.com/?p=475"  size="standard"   annotation="none"  ></g:plusone>]]></content:encoded>
			<wfw:commentRss>http://www.hitechsavvy.com/?feed=rss2&#038;p=475</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Protected: Analysis of Retirement Spending</title>
		<link>http://www.hitechsavvy.com/?p=468&#038;utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=why-youll-need-less-in-retirement</link>
		<comments>http://www.hitechsavvy.com/?p=468#comments</comments>
		<pubDate>Mon, 16 Apr 2012 13:10:34 +0000</pubDate>
		<dc:creator>jayfarschman</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://www.hitechsavvy.com/?p=468</guid>
		<description><![CDATA[There is no excerpt because this is a protected post.]]></description>
			<content:encoded><![CDATA[<form action="http://www.hitechsavvy.com/wp-pass.php" method="post">
<p>This post is password protected. To view it please enter your password below:</p>
<p><label for="pwbox-468">Password:<br />
<input name="post_password" id="pwbox-468" type="password" size="20" /></label><br />
<input type="submit" name="Submit" value="Submit" /></p></form>
<p class="facebook"><a href="http://www.facebook.com/share.php?u=http://www.hitechsavvy.com/?p=468" target="_blank" title="Share on Facebook">Share on Facebook</a></p><g:plusone href="http://www.hitechsavvy.com/?p=468"  size="standard"   annotation="none"  ></g:plusone>]]></content:encoded>
			<wfw:commentRss>http://www.hitechsavvy.com/?feed=rss2&#038;p=468</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Call Routing &#8211; Cheatsheet for Cisco&#8217;s Unified Call Manager (CUCM)</title>
		<link>http://www.hitechsavvy.com/?p=460&#038;utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=call-routing-cheatsheet-for-ciscos-unified-call-manager-cucm</link>
		<comments>http://www.hitechsavvy.com/?p=460#comments</comments>
		<pubDate>Fri, 23 Mar 2012 13:15:09 +0000</pubDate>
		<dc:creator>jayfarschman</dc:creator>
				<category><![CDATA[Call Manager]]></category>
		<category><![CDATA[Cisco]]></category>

		<guid isPermaLink="false">http://www.hitechsavvy.com/?p=460</guid>
		<description><![CDATA[having recently taken over a couple of call manager clusters I&#8217;ve found is useful to take some notes about what I see under the hood to give myself a quick cheatsheet.  I really think Cisco did everything they could to &#8230; <a href="http://www.hitechsavvy.com/?p=460">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>having recently taken over a couple of call manager clusters I&#8217;ve found is useful to take some notes about what I see under the hood to give myself a quick cheatsheet.  I really think Cisco did everything they could to make the CUCM as easy as possible&#8230;. if you understand the fundamental components, and the most fundamental component of the unified communications system is the call routing database used to perform digit analysis and direct traffic to the intended destination.</p>
<p>CUCM call routing use the following components:</p>
<ul>
<li>Route Pattern (RP)</li>
<li>Route List (RL)</li>
<li>Route Group (RG)</li>
<li>Gateway/Trunk (GW/ICT)</li>
</ul>
<p>When calling, Cisco phones send their digits to the CUCM where the routing DB is used to direct the call.  Once analysis is complete the call will be routed to the called party.</p>
<p>Routing Patterns make use of wild cards, but it should be noted that the more specific the pattern the higher preference given to that particular entry.  These are fairly similar to Unix wildcards.  Entries can look like this:</p>
<ul>
<li>1208 &#8211; An exact number match used for directory numbers that are assigned to a partition and route to a specific Cisco IP phone (SEP001894F90E0A)</li>
<li>120X &#8211; 1200 to 1209 plus 120* and 120#</li>
<li>120[5-9] &#8211; 1205 to 1209. Translation patterns used to route unassigned calls to the operator.</li>
<li>120[^0-4] &#8211; 1205 to 1209 (exclude 0-4).  I don&#8217;t think we use these.</li>
<li>. &#8211; Digit stripping and manipulation</li>
<li>9.@ &#8211; Route pattern used at most companies for outgoing calls where you dial 9</li>
<li># &#8211; timing out for International calls</li>
</ul>
<p>In the CUCM take a look at &#8220;Call Routing | Route Plan Report&#8221; and you will see your current  plan.  They are listed in 5 columns. The first is a graphic representation of  the 4th (Type).  The others are Pattern, Partition and Route Detail.</p>
<p><strong>About Jay Farschman</strong> - Jay currently works as a Senior Systems Administrator for an asset management company in Colorado where he works with companies that produce hardware, telecommunications software and financial services.  Jay previously owned a consulting company and provided training and consulting services for three Fortune 500 companies and numerous small businesses where he leveraged Linux to provided exceptional value.</p>
<p class="facebook"><a href="http://www.facebook.com/share.php?u=http://www.hitechsavvy.com/?p=460" target="_blank" title="Share on Facebook">Share on Facebook</a></p><g:plusone href="http://www.hitechsavvy.com/?p=460"  size="standard"   annotation="none"  ></g:plusone>]]></content:encoded>
			<wfw:commentRss>http://www.hitechsavvy.com/?feed=rss2&#038;p=460</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Short Notice Move of DIDs with Cisco Call Manager 5</title>
		<link>http://www.hitechsavvy.com/?p=452&#038;utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=short-notice-move-of-dids-with-cisco-call-manager-5</link>
		<comments>http://www.hitechsavvy.com/?p=452#comments</comments>
		<pubDate>Thu, 22 Mar 2012 18:19:41 +0000</pubDate>
		<dc:creator>jayfarschman</dc:creator>
				<category><![CDATA[Call Manager]]></category>
		<category><![CDATA[Cisco]]></category>

		<guid isPermaLink="false">http://www.hitechsavvy.com/?p=452</guid>
		<description><![CDATA[I ran into a situation where we have to move an office quickly; meaning we will be removing the voice gateway at that office, dropping the circuits and starting fresh in another office.  This isn&#8217;t easy.  What do you do &#8230; <a href="http://www.hitechsavvy.com/?p=452">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>I ran into a situation where we have to move an office quickly; meaning we will be removing the voice gateway at that office, dropping the circuits and starting fresh in another office.  This isn&#8217;t easy.  What do you do to get the DID&#8217;s forwarded to a new location.  This is an howto of the process, but first a discussion of my resources.</p>
<p>The central problem is how long it takes to port DID&#8217;s to a a new PRI or port a PRI to a new voice gateway.  It&#8217;s much faster to individually forward the individual DIDs to a new set of DIDs.</p>
<p><em>IMPORTANT NOTE &#8211; US Telcos are likely not going to allow you to forward individual DIDs to other DIDs unless you have an emergency, like a fire or flood.  In the event of a disaster they will temporarily forward lines in this fashion and I presume quickly ports the DIDs of the PRI/ISDN.  But, without a disaster it&#8217;s a 30-45 day process.   If, however, you are porting what the FCC calls a &#8216;simple&#8217; phone number which is defined as not a part of a PRI/ISDN and only a single number the LNP laws specify that this has to take place in one day.</em></p>
<p><span id="more-452"></span></p>
<p><strong>RESOURCES</strong><br />
We have DIDs running through a PRI into the office we will be closing.  These DID enter our network at a gateway also located in the closing office.  In another state we have a set of unused DIDs that I can use.  In my case they are a contiguous set of number at both locations and for sake of keeping it simple the last two digits of the numbers match up perfectly.  That was not my case, but it will be for this howto.</p>
<p>One other complication. I have inherited two sets of call managers.  One is a Call Manager 4 and the other is Call Manager 5.  I have the spare DID on the Call Manager 4&#8230;.. but the phones for the closing site are on the</p>
<p><strong>STEPS IN A NUTSHELL</strong></p>
<ol>
<li><strong>Identify the Problem</strong> &#8211; and your resources (gather DIDs and map the problem)</li>
<li><strong>Adjust the Voice Gateway</strong> &#8211; You may not need this but I need to divert 6860-6879 to point to a different call manager.</li>
<li><strong></strong><strong>Directory Number into a Transformation Pattern</strong> &#8211; Remove the directory number and instead create a transformation pattern</li>
<li><strong>Setup a Test Phone</strong> &#8211; Put it on your desk and configure it as a closing office phone.</li>
<li><strong>Test It</strong> &#8211; including the caller ID, the voicemail, inbound and outbound dialing.</li>
</ol>
<p>Below I go into a little more detail.</p>
<p><strong>IDENTIFY THE PROBLEM</strong><br />
Identifying the problem is your first step.  At this point I know that I&#8217;m moving extension 8360 through 8379 and I have cleared up extension 6838 through to 6859.  So the last two digits match.  This isn&#8217;t necessary, but it make reading this a bunch easier because the number match</p>
<p>1-505-123-8360 ==&gt; 1-205-842-6879</p>
<p>Now, these numbers are coming in to our two different voice gateways in two different states and are handled by two different Call Managers.  So one of my problems is I want to forward from my 68[6-7]. number from one call manager to another</p>
<p><strong>ADJUST THE VOICE GATEWAY</strong><br />
In the original gateway I pointed a range of numbers to a single call manager.  Now I need to point some of those to a different manager while leaving the rest unchanged.  So we started out with a config that looks liek this:</p>
<pre>dial-peer voice 68001 voip
 description inbound DID to CUCM 4
 preference 1
 destination-pattern 68..
 progress_ind setup enable 3
 progress_ind progress enable 8
 voice-class codec 1
 voice-class h323 1
 session target ipv4:10.10.10.5
 dtmf-relay h245-alphanumeric
 ip qos dscp cs3 signaling
 no vad
!</pre>
<p>And we are creating a new dial-peer changing destination pattern and the session target it to look like this:</p>
<pre>dial-peer voice 68601 voip
 description inbound DID to CUCM 5
 preference 1
 destination-pattern 68[6-7].
 progress_ind setup enable 3
 progress_ind progress enable 8
 voice-class codec 1
 voice-class h323 1
 session target ipv4:10.10.11.5
 dtmf-relay h245-alphanumeric
 ip qos dscp cs3 signaling
 no vad
!</pre>
<p>Well, that was easy because destination-patterns attempts to match on the most specific pattern first and then work their way down to less specific patterns.  So now we have 6860-6879 pointing to the 10.10.11.5 call manager, but all the rest pointing to their original location.</p>
<p><strong>DIRECTORY NUMBER CHANGES TO TRANSLATION PATTERN</strong><br />
In the call manager take a look at &#8220;Call Routing | Route Plan Report&#8221; and you should see a &#8220;Directory Number&#8221; for your 8963 number.  Delete that and create a translation pattern in it&#8217;s place.</p>
<p>When you &#8220;Call Routing | Translation Pattern&#8221; for 8963 and change the &#8220;Called Party Transform Mask&#8221; to 6863.  I should point out here that our PRI delivers 4 digits so that&#8217;s all I have to enter.</p>
<p><strong>SETUP A TEST PHONE</strong><br />
Build phone with one of the original (closing office) extension.  You need this on your desk for testing.  It&#8217;s the first phone you will be setting up and if you get it right you can extend everything to the rest of the extensions.  My test extension if 8963 (closing location) / 6863 (new location).</p>
<p>When adding the extension make sure your descriptions are able to display the 8963 information, but the actual &#8220;Directory Number&#8221; remains 6863.  So you are spoofing the following:</p>
<ul>
<li>Description &#8211; Jay Farschman, 8963</li>
<li>Line Text Label &#8211; Jay Farschman, 8963</li>
<li>ASCII Line Text &#8211; Jay Farschman, 8963</li>
<li>External Phone Number Mask &#8211; 5051238363</li>
</ul>
<p>Wait&#8230; External Phone Number Mask?  Yep.  When the phone dials out you want people to see the 10-digit number from the original office.  So just present the whole 10-digit number in External Phone Number Mask and that will be the caller id you see when calling out.</p>
<p>Any yes, every number you have to transform will go through this process.</p>
<p><strong>TEST IT</strong><br />
At this point you should be able to dial from the outside world using the 1-505-123-8360 and if you dial from that number elsewhere you should see the proper caller id.  That was easy.</p>
<p><strong>About Jay Farschman</strong> - Jay currently works as a Senior Systems Administrator for an asset management company in Colorado where he works with companies that produce hardware, telecommunications software and financial services.  Jay previously owned a consulting company and provided training and consulting services for three Fortune 500 companies and numerous small businesses where he leveraged Linux to provided exceptional value.</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p class="facebook"><a href="http://www.facebook.com/share.php?u=http://www.hitechsavvy.com/?p=452" target="_blank" title="Share on Facebook">Share on Facebook</a></p><g:plusone href="http://www.hitechsavvy.com/?p=452"  size="standard"   annotation="none"  ></g:plusone>]]></content:encoded>
			<wfw:commentRss>http://www.hitechsavvy.com/?feed=rss2&#038;p=452</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Updating your ESX or ESXi Server</title>
		<link>http://www.hitechsavvy.com/?p=446&#038;utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=updating-your-esx-or-esxi-server</link>
		<comments>http://www.hitechsavvy.com/?p=446#comments</comments>
		<pubDate>Thu, 08 Mar 2012 22:56:33 +0000</pubDate>
		<dc:creator>jayfarschman</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://www.hitechsavvy.com/?p=446</guid>
		<description><![CDATA[Patching a server is important not just for the security but for the features that you will be missing.  this is particulary true of ESX where the VMware folks have to keep updating the supported operating systems for the guest &#8230; <a href="http://www.hitechsavvy.com/?p=446">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Patching a server is important not just for the security but for the features that you will be missing.  this is particulary true of ESX where the VMware folks have to keep updating the supported operating systems for the guest systems.   Updating is pretty easy too.</p>
<p><strong>A COUPLE OF NOTES</strong></p>
<ul>
<li>Patching typically requires maintenance mode and often a reboot.  The bottom line here is that it&#8217;s an outage for your systems.</li>
<li>Some patches will require you to load a new client for the vSphere before you can get access.</li>
</ul>
<p><strong>GET READY</strong></p>
<ol>
<li>Locate the the appropriate patches <a href="http://www.vmware.com/patchmgr/download.portal" target="_blank">http://www.vmware.com/patchmgr/download.portal</a> if you don&#8217;t know what version your are running then take a look in you vSphere client under &#8220;About&#8221;</li>
<li>See what&#8217;s needed with the CLI command &#8220;esxupdate query&#8221; This is going to show you what is already installed  For instance it may say &#8220;VMware ESXi 4.0 Update 3&#8243;  Let&#8217;s consider installing update 4.</li>
<li>Place your ESX in Maintenence mode using one of these two commands:ESXi: # vim-cmd hostsvc/maintenance_mode_enter<br />
ESX: # vimsh -n -e /hostsvc/maintenance_mode_enter</li>
<li>Copy the link for update 4 from step #1 and setup the download process.esxupdate &#8211;bundle=https://hostupdate.vmware.com/software/VUM/OFFLINE/release-322-20111116-059770/update-from-esxi4.0-4.0_update04.zip update</li>
<li>Wait for it to complete.  If you get a message about &#8220;it is installed or obsoleted&#8221; those are two possible problems, but consider that your link from #1 could be for the wrong ESX version as well.</li>
<li>Once installed Get out of maintenance mode:ESXi: # vim-cmd /hostsvc/maintenance_mode_exit<br />
ESX: # vimsh -n -e /hostsvc/maintenance_mode_exit</p>
<p>ESXi: # vim-cmd /hostsvc/hostsummary | grep inMaintenanceMode<br />
ESX: # vimsh -n -e /hostsvc/hostsummary | grep inMaintenanceMode</li>
<li>Reboot as necessary.</li>
<li>Reload your vSphere client.</li>
</ol>
<p>QED -</p>
<p><strong>About Jay Farschman</strong> - Jay currently works as a Senior Systems Administrator for an asset management company in Colorado where he works with companies that produce hardware, telecommunications software and financial services.  Jay previously owned a consulting company and provided training and consulting services for three Fortune 500 companies and numerous small businesses where he leveraged Linux to provided exceptional value.</p>
<p class="facebook"><a href="http://www.facebook.com/share.php?u=http://www.hitechsavvy.com/?p=446" target="_blank" title="Share on Facebook">Share on Facebook</a></p><g:plusone href="http://www.hitechsavvy.com/?p=446"  size="standard"   annotation="none"  ></g:plusone>]]></content:encoded>
			<wfw:commentRss>http://www.hitechsavvy.com/?feed=rss2&#038;p=446</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Installing Gource on OSX Lion</title>
		<link>http://www.hitechsavvy.com/?p=382&#038;utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=installing-gource-on-osx-lion</link>
		<comments>http://www.hitechsavvy.com/?p=382#comments</comments>
		<pubDate>Sat, 25 Feb 2012 00:27:50 +0000</pubDate>
		<dc:creator>jayfarschman</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://www.hitechsavvy.com/?p=382</guid>
		<description><![CDATA[Just saving my notes.  Need to flesh this out. Install MacPorts and then get run these in order sudo port install ffmpeg +gpl +lame +x264 +xvid sudo port install pcre libsdl libsdl_image ftgl boost GLEW sudo port install gource &#160; &#8230; <a href="http://www.hitechsavvy.com/?p=382">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Just saving my notes.  Need to flesh this out.</p>
<p>Install MacPorts and then get run these in order</p>
<p>sudo port install ffmpeg +gpl +lame +x264 +xvid<br />
sudo port install pcre libsdl libsdl_image ftgl boost GLEW<br />
sudo port install gource</p>
<p>&nbsp;</p>
<p class="facebook"><a href="http://www.facebook.com/share.php?u=http://www.hitechsavvy.com/?p=382" target="_blank" title="Share on Facebook">Share on Facebook</a></p><g:plusone href="http://www.hitechsavvy.com/?p=382"  size="standard"   annotation="none"  ></g:plusone>]]></content:encoded>
			<wfw:commentRss>http://www.hitechsavvy.com/?feed=rss2&#038;p=382</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Setting up Apache Log File Rotation</title>
		<link>http://www.hitechsavvy.com/?p=355&#038;utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=setting-up-apache-log-file-rotation</link>
		<comments>http://www.hitechsavvy.com/?p=355#comments</comments>
		<pubDate>Wed, 01 Feb 2012 18:44:56 +0000</pubDate>
		<dc:creator>jayfarschman</dc:creator>
				<category><![CDATA[CentOS / Redhat]]></category>
		<category><![CDATA[Apache]]></category>
		<category><![CDATA[howto]]></category>
		<category><![CDATA[Linux Sysadmin]]></category>
		<category><![CDATA[tuning]]></category>

		<guid isPermaLink="false">http://www.hitechsavvy.com/?p=355</guid>
		<description><![CDATA[This how-to walks users through setting up proper log file rotation for a multil-site Apache installation where the log file are broken out by site. I built all this on my own, but forgot about logfile rotation so now the &#8230; <a href="http://www.hitechsavvy.com/?p=355">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>This how-to walks users through setting up proper log file rotation for a multil-site Apache installation where the log file are broken out by site. I built all this on my own, but forgot about logfile rotation so now the log files just keep growing and growing.  Time to institute a log rotation algorithm.</p>
<p>For the most part when you are working with Unix you will find that the syslog daemon handles how messages are logged in you system, but Apache handles it&#8217;s own logs and the details are typically kept in the httpd.conf file.</p>
<pre>sudo grep -i 'log' /etc/httpd/conf/httpd.conf /etc/httpd/conf.d/*</pre>
<pre># Custom log file locations
LogLevel warn
ErrorLog  /var/www/html/site1.com/log/error.log
CustomLog /var/www/html/site1.com/log/access.log combined
# Custom log file locations
LogLevel warn
ErrorLog  /var/www/html/site2.com/log/error.log
CustomLog /var/www/html/site2.com/log/access.log combined
# Custom log file locations
LogLevel warn
ErrorLog  /var/www/html/site3.com/log/error.log
CustomLog /var/www/html/site3.com/log/access.log combined</pre>
<p>So, grepping gives me a listing of logfile locations for each of the sites and as you can see they are all located in different directories.  You probably also noticed that there are logfiles in the con.d directory that I grepped for.  A lot of stuff will want to install there, like phpMyAdmin or webalizer or ssl.conf.  One other note, some installations will have their config files in an apache2 directory. <span id="more-355"></span></p>
<p><strong>LOGROTATE</strong></p>
<p>We are going to make use of logrotate a system that typically runs daily so you&#8217;ll find it in /etc/cron.daily/logrotate</p>
<pre>#!/bin/sh

/usr/sbin/logrotate /etc/logrotate.conf
EXITVALUE=$?
if [ $EXITVALUE != 0 ]; then
    /usr/bin/logger -t logrotate "ALERT exited abnormally with [$EXITVALUE]"
fi
exit 0</pre>
<p>Or course, it has it&#8217;s own logrotate.conf file and if you peek in there you&#8217;ll see an include directory &#8220;include /etc/logrotate.d&#8221;  peeking in there you&#8217;ll find a bunch of ASCII text files.  I found one with the following:</p>
<pre>/var/log/httpd/*log {
    missingok
    notifempty
    sharedscripts
    postrotate
        /sbin/service httpd reload &gt; /dev/null 2&gt;/dev/null || true
    endscript
}</pre>
<p>This isn&#8217;t a bad start, but it points to the wrong location and doesn&#8217;t handle things very specifically.  I&#8217;d like to add a few directives</p>
<ul>
<li>weekly &#8211; Only rotate weekly</li>
<li>size 10M &#8211; Don&#8217;t bother rotating until the file exceeds 10M.</li>
<li>compress &#8211; Go ahead and compress that 100M file that you are saving.</li>
<li>rotate 4 &#8211; keep no more than 7 of these.</li>
</ul>
<p>If you want to know more try the &#8216;man logrotate&#8217; command, but this is going to give me a minimum of 4 weeks of logfiles.  Okay, so you end up creating a unique logrotate config for each separate virtualhost where you store the log files in a unique location.  It might looks like this:</p>
<pre>/var/www/html/site1.com/log/*.log {
     weekly
     missingok
     rotate 4
     compress
     delaycompress
     notifempty
     sharedscripts
     postrotate
         /sbin/service httpd reload &gt; /dev/null 2&gt;/dev/null || true
     endscript
}</pre>
<p>I called mine site1.com and wanted to check the debug file on this so I ran the following command.</p>
<pre>logrotate --debug --force /etc/logrotate.d/site1.com</pre>
<p>Now take out the &#8211;debug to force the rotation right now and take a look at your work.</p>
<p>Okay, so one last tip.  You probably noticed that we are compressing things and you may be thinking how lame that is if you have to reference the files, but the gzip RPM comes with zless and zgrep.  These solve that problem nicely.</p>
<p><strong>About Jay Farschman</strong> - Jay currently works as a Senior Systems Administrator for an asset management company in Colorado where he works with companies that produce hardware, telecommunications software and financial services.  Jay previously owned a consulting company and provided training and consulting services for three Fortune 500 companies and numerous small businesses where he leveraged Linux to provided exceptional value.</p>
<p class="facebook"><a href="http://www.facebook.com/share.php?u=http://www.hitechsavvy.com/?p=355" target="_blank" title="Share on Facebook">Share on Facebook</a></p><g:plusone href="http://www.hitechsavvy.com/?p=355"  size="standard"   annotation="none"  ></g:plusone>]]></content:encoded>
			<wfw:commentRss>http://www.hitechsavvy.com/?feed=rss2&#038;p=355</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Summary of Google&#8217;s Privacy Policy &#8211; March 2012</title>
		<link>http://www.hitechsavvy.com/?p=346&#038;utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=summary-of-googles-privacy-policy</link>
		<comments>http://www.hitechsavvy.com/?p=346#comments</comments>
		<pubDate>Tue, 31 Jan 2012 16:49:28 +0000</pubDate>
		<dc:creator>jayfarschman</dc:creator>
				<category><![CDATA[Privacy]]></category>

		<guid isPermaLink="false">http://www.hitechsavvy.com/?p=346</guid>
		<description><![CDATA[Disclaimer: I am not a lawyer and my views are simply my interpretation of information posted publicly by Google.  However, I think I put together a pretty good and easy to read intepretation of the new policy. Google announced a &#8230; <a href="http://www.hitechsavvy.com/?p=346">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Disclaimer: I am not a lawyer and my views are simply my interpretation of information posted publicly by Google.  However, I think I put together a pretty good and easy to read intepretation of the new policy.</p>
<p>Google announced a new privacy policy the other day and characterized it as very user friendly because it combines more than 60 policies into a single policy.  I have to agree with that characterization.  One of the most important features of a privacy policy should be it&#8217;s transparency and having 60-some overlapping policies is not very transparent and pretty well impossible to read through.</p>
<p>One other significant change is that while you may have created accounts with special aliases to hide your identity, these are not necessarily anonymous anymore.  Google has be transitioned to a unified Google account where a single profile is attached to multiple services. Some or all Google services may replace your pseudonym  with your Google Profile account name and picture and make that information available publicly.  This has become part of the &#8216;Information you volunteered to Google&#8217; [see below].</p>
<p><strong>WHAT THEY COLLECT</strong></p>
<ol>
<li><strong>Information you volunteer to Google</strong> &#8211; Information you give Google when you sign up for a service like your name, email address, telephone number or credit card and possibly a publicly visible Google Profile, which may include your name and photo.</li>
<li><strong>Information Google learns while you use their services</strong></li>
<ol>
<li><strong>Device Information</strong> &#8211; such as your hardware model, operating system version, unique device identifiers, and mobile network information including phone number). Google is able to associate your device identifiers or phone number with your Google Account.</li>
<li><strong>Log information</strong> &#8211; Details of how you used a Google service, such as your search queries, IP Address, cookies, browser type, browser language, the date.  Some applications may log, device event information such as crashes, system activity, hardware settings.</li>
<li><strong>Log information</strong> &#8211; Details of how you used a Google service, such as your search queries, IP Address, cookies, browser type, browser language, the date.  Some applications may log, device event information such as crashes, system activity, hardware settings.</li>
<li><strong>Unique application number</strong> &#8211; Tracks Google application versions for automatic updates.</li>
<li><strong>Cookies</strong> &#8211; limited data is collected through cookies and shared with advertisers (opt-in consent for personal info)</li>
</ol>
</ol>
<p><strong>WHO HAS THE ACCESS TO THE INFO</strong></p>
<ul>
<li><strong>Google Employees</strong> &#8211; They say the information is distributed on a &#8216;need-to-know&#8217; basis, but there are certainly some Google employees who have access to all of the information, sensitive and otherwise.</li>
<li><strong>Companies Outside Google</strong> &#8211; may purchase information, but personal (confidential medical facts, racial or ethnic origins, political or religious beliefs or sexuality) information is not shared without your consent (opt-in)</li>
<li><strong>External Processing Companies</strong> &#8211; companies that process the data for Google in accordance with Google privacy policies.</li>
<li><strong>Law Enforcement/Govt.</strong> &#8211; Any enforceable governmental request or if are believed to have violated the Terms of Service.</li>
</ul>
<p><strong>TRANSPARENCY</strong><br />
In the interest of transparency Google offers these links to assist you to understanding the scope of the information stored and to control that information, in a limited way.</p>
<ol>
<li><strong>Review Your Account</strong> &#8211; <a href="https://www.google.com/dashboard/?hl=en">https://www.google.com/dashboard/?hl=en</a></li>
<li><strong>Advertising Management</strong> &#8211; <a href="https://www.google.com/settings/u/0/ads/preferences/?hl=en" target="_blank">https://www.google.com/settings/u/0/ads/preferences/?hl=en</a></li>
<li><strong>Edit Your Profile</strong> &#8211; <a href="http://support.google.com/accounts/bin/answer.py?hl=en&amp;answer=97706" target="_blank">http://support.google.com/accounts/bin/answer.py?hl=en&amp;answer=97706</a></li>
<li><strong>Control Your Circle of Friends</strong> &#8211; <a href="http://support.google.com/plus/bin/static.py?hl=en&amp;page=guide.cs&amp;guide=1257347" target="_blank">http://support.google.com/plus/bin/static.py?hl=en&amp;page=guide.cs&amp;guide=1257347</a></li>
<li><strong>I want out</strong> &#8211; <a href="http://www.dataliberation.org/" target="_blank">http://www.dataliberation.org/</a></li>
</ol>
<p><strong>References:</strong><br />
<a href="http://www.aclu.org/blog/technology-and-liberty/aclu-lens-googles-new-privacy-policy" target="_blank">ACLU Article hammering home the danger of targeted ads. </a></p>
<p><strong>About Jay Farschman</strong> - Jay currently works as a Senior Systems Administrator for an asset management company in Colorado where he works with companies that produce hardware, telecommunications software and financial services.  Jay previously owned a consulting company and provided training and consulting services for three Fortune 500 companies and numerous small businesses where he leveraged Linux to provided exceptional value.</p>
<p class="facebook"><a href="http://www.facebook.com/share.php?u=http://www.hitechsavvy.com/?p=346" target="_blank" title="Share on Facebook">Share on Facebook</a></p><g:plusone href="http://www.hitechsavvy.com/?p=346"  size="standard"   annotation="none"  ></g:plusone>]]></content:encoded>
			<wfw:commentRss>http://www.hitechsavvy.com/?feed=rss2&#038;p=346</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

<!-- Served from: www.hitechsavvy.com @ 2012-05-19 11:15:49 by W3 Total Cache -->
