PLEASE READ FIRST!

I've now been blogging here since 2007! ...Wow, has it been that long already?! Over the years, I've covered a wide array of subjects from scripting, troubleshooting, to the occasional hobby project. I have literally heard from thousands of you over the years with questions or even just offering me a bit of thanks!

Recently, I quit my full-time job and started work on an IT business, Rhythm IT Solutions, helping other IT departments manage their IT environments. We're offering consulting & professional services (Office 365 Migrations, Network Discovery, Firewall Management, etc...) as well as Endpoint Management (AV, Patch Management EDR, Managed Backup, etc...)



If there is something (on my blog or not) that you could use some additional help with, I would LOVE to hear from you! Please feel free to reach out to me using the contact links here or the contact form on Rhythm's website.

For those wondering, I do plan on continuing my work on the blog. So don't worry! There are plenty of Greg Strike posts yet to come! 😊 Thanks for stopping by!

PLEASE READ FIRST!




UPDATE If you need some more help figuring out how to use this check out my new post that explains it in a bit more detail!

I had an idea while watching WLUK’s Lambeau Cam, a webcam mounted on a radar tower near Lambeau field. I thought it would be cool to download images of a webcam at a set interval and then convert them into a movie format. The result would be a stop motion (or time lapse) video of that webcam’s output.

While I was writing this script I remembered that WLUK already broadcasts a time lapse video of the Lambeau Cam almost every night during their weather forecast but this didn’t stop me because it can be used on more than just a web cam.

Description:` iget.sh (aka. Interval Get) is passed three parameters. 1. The URL of a file; 2. A file name to tag the downloaded file with; 3. An Interval in seconds.

iget will download the URL, tag it with the date and time and your custom file name at the interval of seconds you tell it.

Example:

./iget.sh http://weather.myfoxnewisconsin.com/maps/WLUK/lambeaucam/capture.jpg lambeau.jpg 60

This would output YYYY-MM-DD_HHMMSS_lambeau.jpg every sixty seconds.

Dependencies: Bash wget

Note: Before running this script you may have to give it Execute permissions. You can do this using chmod:

chmod +x ./iget.sh

Also, I have tested this in Ubuntu v7.04 and in Cygwin, it worked fine on both.

#!/bin/bash
# iget.sh
#
#  Author: Gregory Strike
#     URL: //www.gregorystrike.com/2007/06/06/bash-script-interval-get/
#
# Purpose: This script downloads a file from the Internet at a set interval.
#
#
# Syntax:
# iget url filename i
# Where filename = The custom file name
# Where i = the interval of the download in seconds
REQPARAMS=3
url=$1
filename=$2
interval=$3
function download()
{
	#http://www.wluk.com/lambeaucam/lambeaucam.jpg
	wget $url -O $(date '+%Y-%m-%d_%H%M%S')_$filename
}
function pause()
{
	echo Downloading $url...
	echo Interval is set to $interval seconds...
	echo -n "Next download in "
	(( intervalleft=interval ))
	while (( intervalleft > 0 ))
	do
		echo -n -e "$intervalleft seconds..."
		if ((${intervalleft:${#intervalleft}-1:1}==9))#Detects if there is a nine at the end
			then
			echo -n -e " \\b"			#If so, write a space and then backspace
		fi
		sleep 1						#Zzzzzz...  For 1 second.
		echo -n -e \\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b	#Erases the "seconds..."
		backspaces=${#intervalleft}			#Get the current number of digits
		while (( backspaces > 0 ))			#Loop until the last digit has been backspaced
		do
			echo -n -e \\b
			(( backspaces-- ))
		done
		(( intervalleft-- ))
	done
}
if (( $# != $REQPARAMS ))
	then
		echo "Error: Incorrect Syntax"
		echo "Required: " $REQPARAMS " Passed: " $#
		echo
		echo "Syntax: ./iget.sh url filename interval"
		echo "URL = The URL/location of the file."
		echo "FILENAME = Base name of the file saved locally."
		echo "INTERVAL = The seconds between downloads."
	exit
fi
while ((1))
do
	download
	pause
done

After you have downloaded all the pictures you should be able to use a program that can convert many pictures into a movie. I used mencoder, which was easy to setup on Ubuntu, a little more difficult on Cygwin.

Here’s an example of a time lapse I created from the LambeauCam on LambeauField.com. I used the script above and meconder to create this. Those l337 may recognize the sound track! :)

Have Fun!



PLEASE READ FIRST!

I've now been blogging here since 2007! ...Wow, has it been that long already?! Over the years, I've covered a wide array of subjects from scripting, troubleshooting, to the occasional hobby project. I have literally heard from thousands of you over the years with questions or even just offering me a bit of thanks!

Recently, I quit my full-time job and started work on an IT business, Rhythm IT Solutions, helping other IT departments manage their IT environments. We're offering consulting & professional services (Office 365 Migrations, Network Discovery, Firewall Management, etc...) as well as Endpoint Management (AV, Patch Management EDR, Managed Backup, etc...)



If there is something (on my blog or not) that you could use some additional help with, I would LOVE to hear from you! Please feel free to reach out to me using the contact links here or the contact form on Rhythm's website.

For those wondering, I do plan on continuing my work on the blog. So don't worry! There are plenty of Greg Strike posts yet to come! 😊 Thanks for stopping by!

PLEASE READ FIRST!





Gregory Strike

Husband, father, IT dude & blogger wrapped up into one good looking package.