Random SysAdmin Thoughts...

Adventures in DevOps and other random technical musings

Another Update & Rename… kinda…

I’ve moved again and am now in Higher Education. Recap the last many years would be:
  • Death Care Provider
  • Federal Government (DHS)
  • IBM Partner / Contractor
  • Own Business
  • High Education
    Not a horrible career trajectory. There are a few things I’ve noticed in the industry recently and am hoping to write a few articles about them soon.
    Currently at the university that currently sends me money on a regular bases we have no configuration or standards management. Literally everything we do is ad-hoc and non-repeatable. We are currently implementing new processes, standards and security. A lot of this will be completed using Chef and related components. We are implementing a new internal cloud infrastructure and looking to be as responsive to our internal customers as the public cloud providers (actually we would like to be better, just sayin’).

    I have never had the inclination to learn Git, Ruby, JavaScript or Python however, they are all required skills I will need to acquire in the next few months while we transition to a more DevOps culture here. I’m looking to start posting additional code on GitHub and will be linking it here. 

    Should be exciting!

Housekeeping & Info

First a little housekeeping - I’ve started my company Serion Technology, Inc. and it’s been keeping me rather busy recently. I’ve had a few good ideas about blog topics and issues I’ve come across. However, I have not been able to sit down and put them down and write about anything until now. Please forgive the absence and I hope you find value in my rants and technical explorations.

Thanks for reading.

Technorati Tags: Personal,Writing

Automatically Restart AIX Printers

I have an issue with printers in AIX especially if the the network connection isn’t 100% reliable or if the users tend to turn the printers off frequently. One of my customers is a emergency first responder organization so they need to be up and running as close to 100% as possible and printing is an important piece of their workflow. I created this script a lot of years ago and needed to reuse it this morning for them. It simply checks all the printers for ‘DOWN’ status and restarts them. I scheduled it in cron to execute every 5 minutes and everyone is happy.


while (enq -AW | grep DOWN | grep -v HOST)
enq -U -P enq -AW | grep DOWN | grep -v HOST | awk {'print $1$2'} | awk 'NR<span class="kwrd">&gt;</span>1{exit};1' | sed <a>'s/@/:@/'


Microsoft Surface

I admit it - I love new toys and gadgets and this certainly fits into that category. My current title is “Director of Managed Services” and as such I need to go and actually talk to customers. Now, this is a new role for me coming from a technical background to one that is customer facing and actually holds the customer’s interests at heart before those of my company. I am really enjoying this and going to customer locations to discuss issues and finding solutions is a familiar role in a new and exciting setting. 

So how does Microsoft’s Surface play into this role and why it isn’t just a toy for me? Well it’s quite simple, we are a Microsoft Partner and I felt it was best to utilize a Microsoft product to show off some of the features of the table and the Windows 8 operating system. Here are the specs:

  • Microsoft Surface Pro
    128GB SSD
    4Gb RAM
    Intel i5 Processor @ 1.7Ghz

Honestly looking at the specs it seems that it’s more of a very small form factor computer than a tablet, which is one of the problems. It’s not really a tablet… I need to be able to show off the latest and greatest available with Microsoft’s products but having a full blown computer in tablet for is cheating a little bit.

The major features that my customers are interested in are management of remote assets, security, think sales guy at Starbucks, and in some cases slow access to remote offices. The best way to start that discussion is DirectAccess, BitLocker and BranchCache two of which require the Enterprise version of the operating system. So now I need to upgrade the tablet/computer and Windows RT is completely out of the question.

I do like the fact that now I can go into a meeting and write in OneNote with the customer right there. If I’m connected to the internet it’s automatically syncing to my SharePoint site or SkyDrive. That means that if I lost my bag I would still have all my notes and data that I collected from the customer. Additionally because all my data is encrypted with BitLocker I don’t need to worry about confidential customer or business data getting somewhere is shouldn’t.

With the exception of battery life I’m so far pretty pleased with the device. I’m sure I can stretch some more life out by tweaking the power settings but I’m not quite ready to do that yet. I’m still getting used to the differences between applications that are published for the Win8 UI and the regular Win applications, OneNote is a perfect example.

I’ll certainly keep posting as this experiment plays out – Cheers!


del.icio.us Tags: Surface,Microsoft

Reclaim Underutilized OFFSITE Volumes in TSM

I have a customer that has a reasonable size TSM environment, however the daily change rate is really low. This causes the DRM media that is sent offsite to be utilized at roughly 1-5%. Since the data doesn’t expire quickly they aren’t reclaimed and the volumes tend to sit offsite without being rotated. Using LTO5 media you can imagine that it’s a huge waste of media space.

I put this together to be run periodically either manually or via cron and allow it to run until completion. It will start with the least utilized volumes and work to the ones that are the most utilized. Of course if you use collocation or will never fill a volume to 80% you will need to change the values accordingly.

use strict;
use warnings;
my $login = "/usr/bin/dsmadmc -id=ADMINUSER -password=ADMINPASS";
my @volumes;
sub getVolumeList {
    my @tempVolumes = ();
    @tempVolumes = $login -dataonly=yes &quot;<span style="color: #8b0000">select volume_name from volumes where access='OFFSITE' and pct_utilized&gt;0 and pct_utilized&lt;80 order by pct_utilized</span>&quot;;
    foreach (@tempVolumes) {
        push @volumes, substr($, -9);
foreach (@volumes) {
    print "$\n";
    my $result = $login -noconfirm &quot;<span style="color: #8b0000">move data $_ wait=yes;