I will be setting up a computer with SSH and VNC servers in order to access it remotely since I won't have physical access. If the IP address changes how can I track this? The first idea that comes to mind is to write a script that runs once or twice every day and sends a GET request to my webserver. From there I can handle it however I see fit. The other option setting up mail from the command line to email me, but that isn't very elegant either. There has to be a better solution, right?
You might want to set up a no-ip.org free address for that computer. No-ip.org lets you register a sub domain to *.no-ip.org that you can use to an IP to your liking. The site also offers a tool that will automatically update the DNS records to your current IP. This means the registered xxx.no-ip.org address will always point to your IP address.
From no-ip.org about their tool:
As recommended by @LamarB, dyndns.org offers a similar service.