GNU/Linux >> Tutoriels Linux >  >> Linux

Script d'un téléchargement par lots sFTP toutes les 1 minute

Mon premier conseil serait de nommer les fichiers en utilisant la date et l'heure auxquelles ils ont été pris. De cette façon, vous n'aurez pas besoin de conserver un compteur nulle part, ce qui serait difficile dans un script qui ne s'exécute pas en continu car ses variables seraient réinitialisées à chaque invocation. Vous pouvez stocker les variables dans des fichiers, mais c'est plus facile si vous vous assurez que les noms ne se heurteront pas. Quelque chose comme wget http://127.0.0.1:8080/?action=snapshot -O "Snapshot-$(date).jpg" si vous utilisez Bash. (Désolé si la syntaxe ne fonctionne pas, je ne suis pas un expert de Bash et je tape ceci sur mon téléphone.)

Comme vous l'avez mentionné, plusieurs didacticiels sur les scripts de téléchargement FTP sont disponibles. Au moins l'un d'entre eux aurait dû inclure un exemple qui télécharge des fichiers selon un modèle, tel que "Snapshot-*.jpg", où le caractère générique correspondrait à l'horodatage. Ou, vous pouvez pointer le programme FTP (tel que lftp ou ncftp, qui ont des binaires destinés au script) pour tout télécharger dans un certain dossier. Ensuite, effacez le dossier si le programme a réussi. De cette façon, vous pouvez exécuter votre script aussi souvent que vous le souhaitez en utilisant cron ou une minuterie systemd, et le rendre suffisamment flexible pour toujours essayer de télécharger tous les fichiers qu'il n'a pas réussi avec le plus tard le temps qu'il a couru.

Il existe également des logiciels conçus pour effectuer cette tâche, et plus encore, par eux-mêmes. L'un de ces programmes, que j'ai moi-même utilisé, s'appelle simplement "motion" et est disponible pour la plupart des distributions. Il dispose d'un déclenchement de mouvement intégré (enregistrement et/ou prise d'instantanés) ou de modes continus. Cela peut être un peu gourmand en CPU sur des systèmes comme un Raspberry-Pi, mais cela fonctionne certainement.

Si vous voulez l'intensifier un peu, peut-être exécuter plusieurs caméras distantes/locales et décharger la détection de mouvement sur une machine centrale plus puissante, regardez Zoneminder. La configuration prend plus de temps et, d'après mon expérience, il est difficile de définir manuellement les résolutions correctes sur les flux de votre caméra, mais cela peut être scripté dans une certaine mesure.


Linux
  1. Comment télécharger et charger des fichiers via SSH

  2. Comment répertorier, télécharger et télécharger des fichiers à partir d'un serveur SFTP à l'aide de golang

  3. Script `rm` Et `rm -i` ?

  4. Renommer les fichiers par lots en une numérotation séquentielle ?

  5. KRename - Un puissant renommeur de fichiers par lots pour Linux

Script bash :comment écrire des données dans des fichiers texte

Comment installer LFTP pour télécharger et télécharger des fichiers sous Linux

Comment télécharger et charger un répertoire distant dans sFTP

Comment télécharger des fichiers avec FileZilla

Procédure :Commandes SFTP - Transférer en toute sécurité des fichiers vers un serveur distant

Télécharger des fichiers avec Monsta FTP