Take the 2-minute tour ×
Server Fault is a question and answer site for professional system and network administrators. It's 100% free, no registration required.

I'm trying to download a range of files using curl.

curl -R -O -z /dir/file1.png http://somesite.com/file[1-100].png

The problem I'm having is how to make the "file1.png" change to the approperate range # that is currently being downloaded. I have tried :

curl -R -O -z /dir/file#1.png http://somesite.com/file[1-100].png

However, that breaks the "-z" option (only download if remote file is newer than a local copy) with the error :

Warning: Illegal date format for -z/--timecond (and not a file name). 
Warning: Disabling time condition. See curl_getdate(3) for valid date syntax.

How do I fix this?

share|improve this question
    
why not use wget instead? –  Zoredache Aug 15 '11 at 3:47
    
curl keeps the connection open until it's done - wget keeps opening a new connection for each file –  Dave Aug 15 '11 at 3:58
add comment

2 Answers

I can't think of a way to do this and re-use the connection, but you could do it with a for loop and a new connection each time. In bash, for instance:

for i in {1..100}; do curl -R -O -z /dir/file${i}.png http://somesite.com/file${i}.png; done
share|improve this answer
add comment

Did you try with a certain date:

curl -R -O -z "Aug 14 2011" /dir/file#1.png http://somesite.com/file[1-100].png
share|improve this answer
add comment

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.