in reply to
Don't take requirements too serious. In many cases they are open for discussion and can be softened. In your case maybe "15 min if no big file" is all the author needs.
I'd not worry too much about running two instances at the same time. Even if you find a proper way of locking, the line will be blocked by the big file. Effectively that is another way of serialization. Rumor: Cron does not start a new script if the old instance is still running.
Contrary to most other unix tools rsync can do most things on its own. You should have found the --max-size option of rsync. I see little use for Perl in this project. If you really want Perl in the mix, rsnapshot might be your ultimate backup script. It uses rsync and keeps hard links between unchanged files. Basically you get full backups every time with disk space and network traffic of incrementals.