Category Archives: Shell Scripting

Post navigation

Oh the tension. 2-0 up at half-time. Visions of last-day drama and an eleventh-hour escape floating tantilisingly before my eyes. Then, grim reality. A second-half collapse and the prize is snatched away once more. So, this is what it must be like to be an Arsenal fan.
I know that they say misery loves company, but it’s not really any consolation. Yes, my beloved West Ham have been relegated from the Premiership.

In an effort to rouse myself from the resultant depression, I decided to have a look at addressing one of those minor annoyances that I’m always intending to get around to but somehow never quite do. In this case, it’s how to get confirmation that my Oracle XE database has started before trying to connect to it ( and that it’s shut down before I turn off my computer). Continue reading →

Things have been a bit hectic in my world lately. In addition to all the festive seasonal joy ( shopping, family, in-laws, out-laws etc) I’m in the process of changing jobs.

It is the way of such things that sometimes, you just can’t quite squeeze everything in.

The one thing I didn’t get time to finish before leaving was this DOS to BASH guide ( despite several evenings spent hacking away on Windows). So, for the CIG guys…well, it’s traditional – all kids know that there’s got to be at least one Christmas present that you can bash. Sorry. Continue reading →

When I first mentioned the title of this post to my girlfriend, she misheard and thought there was an extra “t” at the end.
One hasty explanation later I have avoided banishment to the shed. All of which is mildly ironic as the tar command comes with a whole alphabet of options, many of which are about to get used here.

As it’s name suggests, the venerable tar command ( Tape ARchive) has it’s roots back in the time when computers were the size of a small semi in Dagenham and punch cards and tapes were the acme of the Programmer’s art.

Now I’m going to use it for backing up data on my assorted Ubuntu machines.
What I want to do here is :

work out how much data I need to backup

create a full backup of all of my data

make sure I know what files have been backed up

test the restore of a file from the backup

make subsequent incremental backups

In the course of this odyssey, we will discover that du has a human face and that tar has a bit of a yellow streak.

NOTE – it’s been several years since I posted this and it has been pointed out that I use the terms incremental and differential interchangably here. They are in fact, not the same thing (see Dude’s comment below).

What I’m describing here is an Incremental backup.
There are several things that can go horribly wrong when playing around with tar, so I’m going to test everything on a small subset of files…that I have safely stored elsewhere.
Speaking of which… Continue reading →

It’s the weekend. My girlfriend is staring at the screen in ferocious concentration as she does battle with her latest essay plan for the Masters she’s studying for.
Evicted from the desk and consigned to a dark corner, I’m trying to find some diverting, productive and, above all, quiet, way to amuse myself. As any parent will know, when the kids are quiet, it usually means they’re up to something… Continue reading →

You know what it’s like with a little kid at his birthday party. They get all excited, eat far too many sugary foods and then run around behaving badly.
Oracle Openworld has ended for another year, and not a minute too soon. Hopefully, Larry will have an early night and stop being so excitable and upsetting all those jolly nice open source types he had round.
Meanwhile, in the comparative calm of the backwater that is this blog, I’ve been getting all Zen. Well, zenity, to be precise. Yep, I’ve decided that some my batch scripts needed to get all GUI with Gnome and zenity looks to be the tool to do it.
What follows is an account of my first steps with zenity followed by a demonstration of some of it’s capabilities. Continue reading →

Yes, I know this is supposed to be a blog about Oracle stuff. It’s just that, well, Larry’s been busy this week upsetting large chunks of the Open Source Community – MySQL; OpenSolaris; even James Gosling has had T-shirts printed up urging Oracle to “Let Java Go”. Suffice to say that, given all of this furore, I’ve concluded that I could do with improving my Open Source Karma a bit.
Fortunately, I’ve been busy this week, loading all of my newly inherited music collection onto by Ubuntu Server to enable playback from any other machine on the network. What follows is an account of my adventures.
It was a simple plan – rip all of the CDs to an existing Samba Share on the server and then find software that can read the format and allow playback on both Windows and Linux. Continue reading →

Several years ago, whilst working in an organisation that thought that organising functions into silos was an outstanding idea, I needed to have a UTL_FILE_DIR added to the init.ora ( this was back on Oracle 8i, since you ask).
Not having sufficient access to be able to implement this change myself I had to request it from the DBA group….based in Madrid.
The request was to enable us to write to a directory on the same server as the Database. Not being involved in the physical configuration of the database, I left it to the DBAs to pick which directory to use.
This change, which would’ve taken me 2 minutes, disappeared into the system. The DBAs had to refer it to the Linux Admins( Poland), who had to then discuss the matter with the Storage Team (Switzerland).
End result : six weeks later I get an automated mail saying that the call has been resolved…and I end up with a unix environment variable called $UTL_FILE_DIR. Oh, how we laughed. Continue reading →