In meinem Beitrag ➡ „Nextcloud auf dem Raspberry Pi“ beschreibe ich, wie man Nextcloud auf einem Pi installiert, samt automatischem Backup.
Bei mir liegt das Backup auf einem USB-Stick, der an den Pi angeschlossen ist. Damit ich nicht manuell den freien Speicherplatz auf dem externen Datenträger prüfen muss, damit dieser nicht vollläuft, habe ich mich ein kleines Shell-Skript zur automatischen Löschung der Backup-Dateien zu erstellt.
Meine kleine RPi-Überwachungskamera funktioniert auch im Dauerbetrieb sehr gut. Der einzige kleine Nachteil, es fällt eine große Menge an Daten durch das automatische Aufzeichnen an. Damit der Speicher des Pi nicht komplett voll läuft und eine manuelles Löschen alter Dateien unnötig wird, gibt es Abhilfe.
Mit einem einfachen Cron-Job werden die Dateien in definierten Verzeichnissen automatisch gelöscht, die älter X Tage sind.
In der Anleitung ➡ Raspberry Pi Kamera-Modul mit Motion als kleine Überwachungskamera werden einige neue Verzeichnisse angelegt. Die aufgenommenen Bilder/Videos werden von Motion in den Pfad /home/pi/motion/video gespeichert.
Die Bild- und Video-Dateien in diesem Motion-Verzeichnis sind schreibgeschützt, weshalb der Cron-Job als sudo auszuführen ist.
Schritt 1: Bash-Skript erstellen
Bevor wir aber den Cron-Job anlegen können, ist der Befehl für das Löschen der Dateien als Bash-Script zu erstellen. Ich habe zu diesem Zweck ein neues Verzeichnis angelegt, in das alle Skripte gelegt werden können.
mkdir /home/pi/script
Anschließend ist dort eine Datei einem Editor zu erstellen, die den folgenden Inhalt hat. Ich verwende hierfür nano. Zum Aufrufen des Editors und zum erstellen der Datei gebt einfach den Befehl nano auf der Konsole ein.
Kopiert den folgenden Inhalt in die neue Datei, passt den Pfad an und speichert die Datei unter einem beliebigen Namen ab. Bei mir hat das Skript die aussagekräftige Bezeichnung autodelete.sh erhalten.
Die Variable X steht für Tage und kann beliebig angepasst werden.
Inhalt bash-Skript
Das Skript könnt ihr auch sofort testen, indem ihr es über die Konsole starten könnt
cd /home/pi/script
sh ./autodelete.sh
Funktioniert das Skript, können wir im nächsten Schritt den Cron-Job anlegen.
Schritt 2: Cron-Job anlegen
sudo crontab -e
Der Eintrag zum automatischen Starten des Skript lautet bei mir:
@daily /bin/bash/ /home/pi/script/autodelete.sh
crontab
Cron-Job – Infos
Hier vielleicht noch ein paar Infos, die euch beim erstellen von Cron-Jobs helfen.
Die Zeiteinstellungen für den Cron-Job können nach dem folgenden Muster erfolgen.
* * * * * YOURCOMMAND
- - - - -
| | | | |
| | | | +----- Day in Week (0 to 7) (Sunday is 0 and 7)
| | | +------- Month (1 to 12)
| | +--------- Day in Month (1 to 31)
| +----------- Hour (0 to 23)
+------------- Minute (0 to 59)
Ist euch das Einstellen der Zeit, wie oben beschrieben zu umständlich, gibt es auch ein paar Shortcuts:
@reboot --> only once at startup
@daily ---> once a day
@midnight --> once a day at midnight
@hourly --> once a hour
@weekly --> once a week
@monthly --> once a month
@annually --> once a year
@yearly --> once a year
Diese Shortcuts lassen sich auch wiederum in die normale Zeitangabe übersetzen:
Es kommt ja öfters vor, dass in einer Excel Tabelle leere Zeilen enthalten sind, die man nicht gebrauchen kann. Durch leere Zeile lässt sich z.B. kein anständiger Filter setzen, um den Inhalt zu sortieren.
Bevor man nun umständlich mit VBA versucht die leeren Zeilen zu löschen, kann man das auch ganz einfach mit den Excel Bordwerkzeugen machen.
Ich habe in eine Tabelle vorbereitet, in der viele leere Zeilen vorhanden sind, die ich löschen möchte. Um das ein bisschen übersichtlicher zu gestalten, die blauen Zeilen sollen unbedingt erhalten bleiben und die weißen Zeilen dazwischen sollen gelöscht werden.
Markiert nun die Spalte in der sich die leeren Zellen der Zeile befinden, die ihr entfernen möchtet und drückt dann die Taste F5.
Das Makro erlaubt das schnelle Kopieren von Informationen aus einer Tabelle in eine andere. Anschließend werden die Informationen gedruckt und in der Quelle gelöscht.
Cookie-Zustimmung verwalten
Wir verwenden Cookies, um unsere Website und unseren Service zu optimieren.
Funktional
Immer aktiv
Die technische Speicherung oder der Zugang ist unbedingt erforderlich für den rechtmäßigen Zweck, die Nutzung eines bestimmten Dienstes zu ermöglichen, der vom Teilnehmer oder Nutzer ausdrücklich gewünscht wird, oder für den alleinigen Zweck, die Übertragung einer Nachricht über ein elektronisches Kommunikationsnetz durchzuführen.
Vorlieben
Die technische Speicherung oder der Zugriff ist für den rechtmäßigen Zweck der Speicherung von Präferenzen erforderlich, die nicht vom Abonnenten oder Benutzer angefordert wurden.
Statistiken
Die technische Speicherung oder der Zugriff, der ausschließlich zu statistischen Zwecken erfolgt.Die technische Speicherung oder der Zugriff, der ausschließlich zu anonymen statistischen Zwecken verwendet wird. Ohne eine Vorladung, die freiwillige Zustimmung deines Internetdienstanbieters oder zusätzliche Aufzeichnungen von Dritten können die zu diesem Zweck gespeicherten oder abgerufenen Informationen allein in der Regel nicht dazu verwendet werden, dich zu identifizieren.
Marketing
Die technische Speicherung oder der Zugriff ist erforderlich, um Nutzerprofile zu erstellen, um Werbung zu versenden oder um den Nutzer auf einer Website oder über mehrere Websites hinweg zu ähnlichen Marketingzwecken zu verfolgen.