One way to download an URL without having to use an user interface (text or GUI) is to use
wget with all needed parameters (as you wish) as a cron job.
An example for a single URL (with output name merged with a timestamp, to enrich the answer, could be a static name):
wget URL -O "/home/uname/dirn/`date +%y%m%d-%H%M%S`-n.htm" -b
wget URL -O "/home/uname/dirn/`date +\%y\%m\%d-\%H\%M\%S`-n.htm" -b #in crontab
note: in cron you have to use "\%" (as in the second line above) instead of just "%" (as in the first line above), because cron interprets the "percent"-character.
-O "/home..../ breaks up into:
absolute path (cron may have its own path configured, so from practical point of view, it is often favourable to have your path of interest specified in each command)
on-the-fly execution of
date with output configured as a human-readable kind-of a time-stamp
the rest of the target file name
-b asks wget do work in the background, with logging into syslog.
You can optionally use a list of URLs from a file (
-i filename). You could also play around with wget and its manpage (
man wget) - it is relatively short and can give you lots of ideas.
Note, cron assusmes your machine is on at all times: cron does not catch up with jobs for the time the machine was off. Editing cron as a current user
Add a line of configuration that specifies the frequency of execution of the command (simple instruction gets displayed as a comment in the topmost lines the crontab editor, please read it). For running every 5 minutes on Sunday you would write:
# m h dom mon dow command
*/5 * * * 0 wget google.com -O "/home/uname/dirn/`date +\%y\%m\%d-\%H\%M\%S`-ind3.htm" -b