Run A Command Every N Seconds

Short story long…

This week, Apple officially release support for Windows 7 in BootCamp 3.1.  I thought to myself “Self, you have a wonderfully powerful Mac Pro with 8 cores and 10GB RAM that is being completely unused by your XP install, you really should upgrade to to Win7 x64 now that Apple officially supports it”.

So, that’s what I did, with no thought as to how much MORE disk space I would need on my BootCamp partition.

So after installing Windows 7 and a bunch of games, I received my you only have < 500MB of disk space left alert.

This brought me to a point where I needed to resize my OSX HFS partition and grow my Windows NTFS partition.  During this madness, I realized that with BootCamp 3.1, I could view my HFS partitions from Windows!  But much to my chagrin, I couldn’t see my slice that had all of my useful data because it was a part of a concatenated RAID.

After resizing my OS partitions, I decided to move data off my RAID slice so I could break it then just create a normal HFS partition that can be viewed from Windows.  The problem is, moving almost a TB of data can take a long time and turning from my laptop to my left 45 degrees to my desktop on my right every time I wanted to see how my disk space looked left me with a pain in my neck!

I was at that very moment reminded about using while & sleep. Below is a handy little command that will run any command every number of seconds until you break (ctrl-c) it.

while true
do
command
sleep 30 (seconds)
done

I personally ran:

while true
do
df -h | grep disk1s2
sleep 30
done

Which allowed me to monitor the growth of the destination disk I was copying to.

-boogybren

Tags: , , , , , , , , ,

2 Responses to “Run A Command Every N Seconds”

  1. troiless says:

    Cool stuff. Personally I use ‘watch df -h <>’. By default watch isn’t included on OSX, but a quick google search will help you find how to get it on OSX.

  2. boogybren says:

    Indeed, watch was the first thing I thought of. I knew that there was a build for OSX, but since the RAID I was breaking had my /Users dir on it, I had to boot to the Snow Leopard disk to do all of this work.

    I should just put watch on the OS anyway as I can access any binary on the installed OS from the boot disk anyway.

Leave a Reply