Tag Archives: Shell Scripting

Systems Administration

Multiple systems administration roles have allowed me to confidently manage & monitor large networks of varying architectures, platforms, & network technologies.  Some of the key areas I have had worked with are:

  • All Mac workplaces, with offsite iPad, iPhone, and Macbook management.
  • Computer labs – 600+ devices ranging from fixed desktops with domain logons, to tablets & laptops. System imaging & Ghost was heavily used along with image creation.
  • SANs – Dedicated hardware appliances with multple drives, linux servers with raid, FreeNAS
  • Servers – Virtualisation (KVM & VirtualBox), Windows server with active directory, Linux servers of varying distributions, OSX Server, Web servers (AWS). High availability clusters with Galera & GlusterFS.
  • Backups – Automated backup shell scripts, rotating failsafe storage methods, complex rsync scripts using comparisons to use minimal bandwidth.
  • Dumb terminals – Linux thin clients connecting to a Windows Terminal Server
  • Data migration – Website transfers, mysql databases, storage upgrades, amalgamation of servers.

Intranets & Remote Support

Previously to support clients there were a mix of different servers & different support technologies, controlled via a complex set of Shell Scripts which was only available to administrators. This was solved by streamlining all the different technologies in to one simple OpenVPN server based on common hardware with pfSense, with a simple graphically appealing interface for all staff to use from anywhere. This also opened up the ability for staff to work remotely, with the added benefit of drastically reduced technical issues & calls.

A second version was developed but never released, written from scratch in Dojo with mobile in mind. This had a few advantages:

  • More efficient in regards to loading speeds, as it only loads what it needs at any one time rather than everything.
  • Mobile-friendly interface, for technicians in the field to get instant feedback on the systems they are working on.
  • More informative at a glance with data arranged more logical to the workflow of support staff

FlexiFi v1

I was brought in to design, build and support a new Digital Media System that was to replace an ageing and extremely buggy PERL system (iDesign) that was currently in use.  FlexiFi was the outcome, written in PHP to be a more solid, supported and easily extendable duplicate of the original system yet with many features implemented that had previously been impossible.

This was successfully sold and deployed to over 100 sites nationwide (200+ systems) which required a custom Intranet development and VPN to keep track of it all.

Each system was a dedicated PC with a highly customised Linux distribution, which contained its own LAMP stack with built in CMS.  This allowed it to be updated both remotely by support staff & locally by clients themselves.

The systems themselves were able to display slideshows consisting of customised text, graphics and videos, along with menus that could accommodate multiple prices – all of which could be scheduled.

It was a highly successful product which was replaced a few years later by the far more advanced FlexiFi2 product.

If you are using FlexiFi (or any digital signage system) please visit signagebank.com for pre-made stock slides and animations for your displays.

Window Shopping Directory Centre

Searchable online business directory built using Perl, where each business had its own editable multi-page profile generated real-time from a mySQL database.

Original version was commercially successful, bringing in advertising revenue from banner ads placed throughout the site.

Pictured is the Third revision which was rewritten using PHP but never released due to management & budget constraints.

GiST Linux

Custom linux distribution that started out as a heavily customised Slackware build, which transitioned over to a completely new Linux based on the Linux From Scratch project. Designed to run from CD and provide a number of different interfaces depending on the intended use:

  • an instant useable desktop with common applications
  • web-based touchscreen interface for car & multimedia use
  • server with web-based configuration area for firewall/proxy/file storage use

The system was able to be run “live” direct from a CD or usb key, or installed from the “live” environment to the systems harddrive.  Each instance could be pre-configured by way of a global config file to match the systems intended use (eg. Car PC installs would run the multimedia touchscreen interface by default).

GiST contained automatic build scripts (Bash) which built the entire system for a chosen architecture (i386 for compatibility with VIA Eden boards) automatically, resulting in a bootable ISO over a period of around 8 hours (circa 2006).  This built all facets of the system from the sources of the applications, including all libraries, chroot bootstrap environment, & highly optimised SMP kernel.

Features include:

  • Desktop Interface (Gnome)
    • Evolution
    • OpenOffice
    • Gimp
    • Inkscape
    • Firefox
    • VideoLan
    • Etc
  • Multimedia Interface
    • Internet connectivity via bluetooth enabled mobile phone
    • Digital TV
    • Media playback of all common formats
    • Weather & Clock display
    • Web browsing
    • TV guide
    • WIFI connectivity
    • On-screen volume controls
  • Server
    • iptables firewall
    • squid proxy
    • ppp / isdn / adsl internet connection manager with auto-redial
    • dns forwarding with cache
    • dyndns
    • samba / smbd fileshares
    • ftp server
    • printer sharing
    • DHCP/BootP/tftp server (allowing for instant diskless computer labs)

Development stalled once a shift to i686 architecture became increasingly necessary & other ‘easy’ distributions such as Smoothwall & SME Server became more mainstream.