Linux
Redhat Linux Installation Groups: A complete list for RHEL5.4
Just a quick post. If you are running kickstart, you may find yourself looking for the list of installation groups and their associated packages. I certainly did.
Following a tip from http://www.mail-archive.com/cobbler@lists.fedorahosted.org/msg04644.html, here's the entire comps.xml file for Redhat Enterprise Linux 5.4.
Script: Yum Check Update
I have been using this script to check for updates on my Redhat systems for quite some time. Put this into your cron.daily, and you have a daily nag to update your system. 
#!/bin/bash
#########
## Yum Check Update Script
##
## This script checks for system updates and sends email
## to sysmin team if there are any updates.
##
## Changelog
## ---------
## 24 Oct 2008 (Junhao)
## - Initial commit
##
#########
_CAT="/bin/cat"
_DATE="/bin/date"
_HOSTNAME="/bin/hostname"
Script: Check No Missing Files After Reorganisation of Directory Trees
Here's another script I did when I had to reorganised a folder hierarchy of years of data. Basically to ensure files are not missing, or corrupted.
#!/bin/bash
#########################
#
# checkNoMissingFiles
# ===================
#
# This script checks that no files are missing after folders are reorganised.
# Basic algorithm is to checksum all files in both old and new folders, then
# checking through both lists of checksums to ensure all checksums are present
# in both lists.
Script: Zimbra Backup Script
I am currently migrating out of Zimbra to a 3rd-party host. Just for archival, here's my Zimbra backup script. Just run this script using a cronjob every day. There will be a short downtime where Zimbra is shutdown to synchronise the last bit of emails, but that should be okay if you have a backup MX server.
This script creates a working live copy of the Zimbra directory, then shutdown Zimbra to sync the directory. The directory is then passed through star, into a small(er) file.
Puppet - Centralised Configuration Management
Recently, I have started to migrate my scripts to use Puppet. Everything from initial system provisioning to manual failover systems had been converted. Wee~
linuxNUS Install Fest is Tomorrow!
Yeah, there's an Install Fest in NUS tomorrow, organised by linuxNUS.
Venue:SOC1 #03-17
Date: Feb 5 2009, Thursday (TOMORROW!)
Time: 6.30pm
More information at linuxNUS website.
Anyway, I think I may be going there at 7.30pm. It's a long time since I met the folks for dinner. 
List of *nix commands
Now that I am doing cross platform system administration, it is getting critical to have lists of equivalent commands across the *nixes. Found 2 guides so far:
- Unix toolbox: http://cb.vu/unixtoolbox.xhtml
- Tom's Hardware Universal Command Guide: http://www.tomshardware.com/ucg/
Will be adding more as the time goes by. 
Disk Volume Size Limits
Yesterday, my Sun Microsystems vendor pointed out something I didn't want to think about: as my data storage climbs into multi-terabytes, our current way of storing/distributing data is no longer feasible. Damn, multi-terabyte datasets are irksome...
Here's some idea of the problem.
1) Everyone needs to see all these data, across many different computation machines.
2) Each dataset may need to be "live" for years, as research can take years to fruit. Hence, multi-stage storage strategy may not be applicable.
Bash Scripting Tips
I went looking around for bash scripting tips, especially secure coding of bash. Can't find much information, so decided to consolidate whatever I found here. 
- Salt string comparisons of variables to increase security
if [[ "a$?" == "a4" ]]; then
Script: check for missing files in a directory after reorganisation
*Updated: 11 Dec 2007
I'm wondering where I should store the scripts I'm writing. Out of pure laziness, I'll just dump them as my blog entry for now. 
Here's a script to check for missing files after a directory has been re-organised. Basically, it compares the md5sum of the files in the old directory and the new directory.
Please let me know if there are any bugs. 
#!/bin/bash
#########################
#
# checkNoMissingFiles
# ===================
#
# This script checks that no files are missing after folders are reorganised.