You should definitely run this offline rather than in a web-driven PHP script.
If you're going to do a task which is expected to take longer than the user may want to wait, and/or must not be interrupted, you should do it in an offline script.
This could be invoked from cron (You can test it by running it from the command line).
Because it can take as long as it wants, you could sleep for some time between requests - to reduce the bandwidth used over a given time period.
But as long as you're not hitting it with more than one request at once, I can't see why you can't just do all 120 of them sequentially.
If you're trying to use this as a method to synchronise two directories, there are other ways of doing this that don't involve PHP - and they're probably better (hint: rsync, wget etc)
Mark