GNU/Linux >> LINUX-Kenntnisse >  >> Linux

Skripterstellung für einen sFTP-Batch-Upload alle 1 Minute

Mein erster Tipp wäre, die Dateien nach Datum und Uhrzeit der Aufnahme zu benennen. Auf diese Weise müssen Sie nirgendwo einen Zähler führen, was in einem Skript schwierig wäre, das nicht kontinuierlich ausgeführt wird, da seine Variablen bei jedem Aufruf zurückgesetzt würden. Sie könnten die Variablen in Dateien speichern, aber es ist einfacher, wenn Sie sicherstellen, dass die Namen nicht kollidieren. So etwas wie wget http://127.0.0.1:8080/?action=snapshot -O "Snapshot-$(date).jpg" wenn Sie Bash verwenden. (Tut mir leid, wenn die Syntax nicht funktioniert, ich bin kein Bash-Experte und tippe dies in mein Handy ein.)

Wie Sie bereits erwähnt haben, gibt es mehrere Tutorials zum Skripten von FTP-Uploads. Mindestens einer von ihnen sollte ein Beispiel enthalten, das Dateien nach einem Muster hochlädt, z. B. "Snapshot-*.jpg", bei dem der Platzhalter mit dem Zeitstempel übereinstimmt. Oder Sie könnten das FTP-Programm (z. B. lftp oder ncftp, die Binärdateien für die Skripterstellung enthalten) anweisen, alles in einen bestimmten Ordner hochzuladen. Löschen Sie dann den Ordner, wenn das Programm erfolgreich war. Auf diese Weise können Sie Ihr Skript so oft ausführen, wie Sie möchten, indem Sie cron oder einen systemd-Timer verwenden, und haben Sie es flexibel genug, um immer zu versuchen, alle Dateien hochzuladen, die später nicht erfolgreich waren Mal lief.

Es gibt auch Software, die entwickelt wurde, um diese Aufgabe und mehr selbst zu erledigen. Ein solches Programm, das ich selbst verwendet habe, heißt einfach "motion" und ist für die meisten Distributionen verfügbar. Es verfügt über eine integrierte Bewegungsauslösung (Aufnahme und / oder Schnappschüsse) oder kontinuierliche Modi. Es kann auf Systemen wie einem Raspberry-Pi etwas CPU-intensiv sein, aber es funktioniert auf jeden Fall.

Wenn Sie es ein wenig beschleunigen möchten, vielleicht mehrere entfernte/lokale Kameras betreiben und die Bewegungserkennung auf eine leistungsstärkere zentrale Maschine auslagern möchten, schauen Sie sich Zoneminder an. Die Einrichtung dauert länger und ist meiner Erfahrung nach wählerisch, wenn es darum geht, die richtigen Auflösungen für Ihre Kamera-Feeds manuell einzustellen, aber es kann bis zu einem gewissen Grad skriptgesteuert werden.


Linux
  1. Herunterladen und Hochladen von Dateien über SSH

  2. Skripting von `rm` und `rm -i`?

  3. KRename – Ein leistungsstarker Batch-Dateiumbenenner für Linux

  4. Batch-Konvertierung der Codierung in Dateien

  5. Batch-Größenänderung und Komprimierung von PDF-Dateien

Bash-Scripting:So schreiben Sie Daten in Textdateien

So installieren Sie LFTP zum Herunterladen und Hochladen von Dateien unter Linux

So laden Sie das Remote-Verzeichnis in sFTP herunter und hochladen

So laden Sie Dateien mit FileZilla hoch

Gewusst wie:SFTP-Befehle – Dateien sicher auf einen Remote-Server übertragen

Laden Sie Dateien mit Monsta FTP hoch