Been working on a way to backup the server level every time a new player connects... this is still a work in progress and experimental but seems to work...
1. wget http://aten-hosted.com/files/caplog.sh
2. copy to the minecraft folder
3. chmod +x caplog.sh
4. kill any currently running copies of the server
5. start your minecraft ./caplog.sh & (note the & its important)
Now when a player connects you should have a time and dated backup of the server level in the folder minecraft/backup/./.. with the player name at the start.
Should make it easy to keep regular backups and recover from griefing.
When you kill the server process you will need to kill the tail -F nohup.out process as well.
I couldn't get screen to work with this directly - would just disconnect output - tho you might be able to do screen -dmS minecraft ./caplog.sh I've not tried.
I also have a cronjob doing regular backups but this is kinda cool in that if someone joins a server and does a massive grief you can return it to exactly how it was the moment before they joined rather than hoping you have a close backup.