Il mio primo consiglio sarebbe quello di nominare i file utilizzando la data e l'ora in cui sono stati presi. In questo modo non avrai bisogno di tenere un contatore da nessuna parte, il che sarebbe difficile in uno script che non viene eseguito continuamente poiché le sue variabili verrebbero ripristinate ad ogni invocazione. Puoi memorizzare le variabili nei file, ma è più facile se ti assicuri che i nomi non collidano. Qualcosa come wget http://127.0.0.1:8080/?action=snapshot -O "Snapshot-$(date).jpg"
se stai usando Bash. (Scusa se la sintassi non funziona, non sono un esperto di Bash e sto scrivendo questo nel mio telefono.)
Come hai detto, sono disponibili diversi tutorial sullo scripting dei caricamenti FTP. Almeno uno di essi avrebbe dovuto includere un esempio che carica i file in base a un modello, come "Snapshot-*.jpg", in cui il carattere jolly corrisponderebbe al timestamp. Oppure, potresti indirizzare il programma FTP (come lftp o ncftp, che hanno binari pensati per lo scripting) per caricare tutto in una determinata cartella. Quindi cancella la cartella se il programma ha avuto successo. In questo modo puoi eseguire il tuo script tutte le volte che vuoi usando cron o un timer di sistema, e renderlo abbastanza flessibile da provare sempre a caricare tutti i file che non ha avuto successo con il successivo volta che è stato eseguito.
C'è anche un software progettato per svolgere questo compito, e altro ancora, da solo. Uno di questi programmi, che ho usato io stesso, si chiama semplicemente "motion" ed è disponibile per la maggior parte delle distribuzioni. Dispone di attivazione del movimento integrata (registrazione e/o acquisizione di istantanee) o modalità continue. Può essere un po' impegnativo per la CPU su sistemi come un Raspberry-Pi, ma sicuramente funziona.
Se vuoi intensificare un po ', magari eseguire più telecamere remote / locali e scaricare il rilevamento del movimento su una macchina centrale più potente, guarda Zoneminder. Ci vuole più tempo per la configurazione e, secondo la mia esperienza, sono schizzinoso riguardo all'impostazione manuale delle risoluzioni corrette sui feed della videocamera, ma in una certa misura può essere programmato.