If you are using shared hosting, scheduling tasks is going to be difficult.
You could implement a service page that performs the download when it is requested. This page would run on the destination server and request a list of files from the source server and proceed to download those files. The server performs all the work, the client that requests the service page could just get a short log of what the server is doing.
Next setup a scheduled task on some other system that invokes the service page at regular intervals.
Since the call to the service page is a very low load on the client you could do that from just about anywhere (a home or office server, a smart router (dd-wrt) you have sitting in closet somewhere or even your smart phone).
Nice bonus of this approach is that you can manually trigger downloading from anywhere by accessing the service page from your browser directly.
On the downside, if the time to complete the downloads exceed the maximum request duration your request is likely to be terminated. You may want to look into asynchronous handlers if that happens.