I’m trying to figure out what I’ve done wrong with respect to limiting how much 
time curl takes to perform a single file upload.

Here’s the code I’m using.

for i in {1..3}
 do
        echo $'\n'"`date`" Upload Attempt  "$i" - $(hostname) >> "$log"

        curl -s -S -v -u mgnewman: \
        --connect-timeout 30 \
        --max-time 30 \
        --pubkey ~/.ssh/id_rsa.pub \
        -T $file $host &>>  $log

        err=$?

        echo $'\n'"`date`" Upload Ended "$err" - $(hostname) >> "$log"

        touch /home/pi/webcam/webcam.webp

        if [ $err -eq 0 ] ; then
                break
        fi
done

Note that I’m using a “do loop” rather than curl’s retry option because between 
each iteration I want to touch an existing image file to prevent watchdog from 
rebooting the machine which it does if the image is not refreshed in ten 
minutes.

I’m trying to limit each iteration of curl to 30 seconds, but that doesn’t seem 
to work. Here’s a fragment of my log file:

Wed Jan 21 23:37:24 +07 2026 Upload Attempt 3 - raspcondo

*   Trying 192.nnn.nnn.101...
* TCP_NODELAY set
* Connected to xxxxxxx.com (192.nnn.nnn.101) port 22 (#0)
* SSH MD5 fingerprint: 4b17cad500a405c850e118c1deec0f96
* SSH host check: 0, key: AAAAB3NzaC1yc2EAAAADAQABAAABAQCzCyhhdYNOn5Zgib7qhPKev$
* SSH authentication methods available: publickey,password,keyboard-interactive
* Using SSH public key file '/home/pi/.ssh/id_rsa.pub'
* Using SSH private key file '/home/pi/.ssh/id_rsa'
* Initialized SSH public key authentication
* Authentication complete
* Operation timed out after 30000 milliseconds with 0 out of 0 bytes received
* Closing connection 0
curl: (28) Operation timed out after 30000 milliseconds with 0 out of 0 bytes r$

Wed Jan 21 23:48:09 +07 2026 Upload Ended 28 - raspcondo

My conclusion is that I don’t understand how this works as it seems that around 
ten minutes elapsed between the time curl started (23:37:24) and the time it 
failed (23:48:09) with error 28.

Note that I realize the code is rather sloppy, but I’m just a hobbyist and 
that’s about the best I can do. Sorry.

Mike Newman
Korat, Thailand

Attachment: smime.p7s
Description: S/MIME cryptographic signature

-- 
Unsubscribe: https://lists.haxx.se/mailman/listinfo/curl-users
Etiquette:   https://curl.se/mail/etiquette.html

Reply via email to