Banana Pi BPI-M1 – practical example with an S3-compatible object storage server with MinIO on Armbian Bullseye

root@rpi-iot-jsho-cam-02:~# vi MinIoMotioneyeBackup.sh
#!/bin/bash
#FileName: MinIoMotioneyeBackup.sh
LocalBackupPath=“/var/lib/motioneye“
MinioBucket=“myminio/worm-with-versioning-and-retention/motioneye“
MCPATH=“/root/mc“
$MCPATH mirror –json –overwrite –remove –preserve $LocalBackupPath $MinioBucket
root@rpi-iot-jsho-cam-02:~#
root@rpi-iot-jsho-cam-02:~# crontab -l
00 * * * * /root/MinioMotioneyeBackup.sh >> /dev/null 2>&1
00 * * * * /root/MinioMotioneyeBackup2.sh >> /dev/null 2>&1
00 * * * * /root/MinioMotioneyeBackup3.sh >> /dev/null 2>&1
root@rpi-iot-jsho-cam-02:~#
root@rpi-iot-jsho-cam-02:~# date
Wed 05 Jan 2022 04:36:38 PM CET
root@rpi-iot-jsho-cam-02:~#

root@rpi-iot-jsho-cam-02:~# date
Thu 06 Jan 2022 09:21:59 AM CET
root@rpi-iot-jsho-cam-02:~#

root@rpi-iot-jsho-cam-02:~# date
Fri 07 Jan 2022 01:37:18 PM CET

root@rpi-iot-jsho-cam-02:~#

root@rpi-iot-jsho-cam-02:~# date
Sun 09 Jan 2022 12:37:55 PM CET

root@rpi-iot-jsho-cam-02:~#

root@rpi-iot-jsho-cam-02:~# vi MinioMotioneyeBackup.sh
#!/bin/bash
#FileName: MinIoMotioneyeBackup.sh
LocalBackupPath=“/var/lib/motioneye“
MinioBucket=“myminio/worm-with-versioning-and-retention/motioneye“
MCPATH=“/root/mc“
$MCPATH mirror –json –overwrite –remove –preserve $LocalBackupPath $MinioBucket
$MCPATH rm –force –versions –recursive –older-than 7d $MinioBucket
root@rpi-iot-jsho-cam-02:~#
root@rpi-iot-jsho-cam-02:~# vi MinioMotioneyeBackup2.sh
!/bin/bash
#FileName: MinIoMotioneyeBackup2.sh
LocalBackupPath=“/var/lib/motioneye“
MinioBucket=“myminio/noworm-with-versioning-and-noretention/motioneye“
MCPATH=“/root/mc“
$MCPATH mirror –json –overwrite –remove –preserve $LocalBackupPath $MinioBucket
$MCPATH rm –force –versions –recursive –older-than 7d $MinioBucket
root@rpi-iot-jsho-cam-02:~#
root@rpi-iot-jsho-cam-02:~# vi MinioMotioneyeBackup3.sh
!/bin/bash
#FileName: MinIoMotioneyeBackup3.sh
LocalBackupPath=“/var/lib/motioneye“
MinioBucket=“myminio/noworm-with-noversioning-and-noretention/motioneye“
MCPATH=“/root/mc“
$MCPATH mirror –json –overwrite –remove –preserve $LocalBackupPath $MinioBucket
root@rpi-iot-jsho-cam-02:~#

root@rpi-iot-jsho-cam-02:~# ./mc rm –force –versions –recursive –older-than 6d myminio/worm-with-versioning-and-retention/motioneye
Removing `myminio/worm-with-versioning-and-retention/motioneye/Camera1/.keep` (versionId=23026458-6652-4139-985d-ad4068cc5f26, modTime=2022-01-04 22:00:25.386 +0000 UTC).
Removing `myminio/worm-with-versioning-and-retention/motioneye/Camera1/.keep` (versionId=2eee588f-343a-4844-a14c-f5d1522430c6, modTime=2022-01-04 10:00:20.937 +0000 UTC).
Removing `myminio/worm-with-versioning-and-retention/motioneye/Camera1/2022-01-04/17-12-19.jpg` (versionId=ee2b64ce-f03b-4bb0-b0a2-034d5e9dd217, modTime=2022-01-04 17:00:17.052 +0000 UTC).
Removing `myminio/worm-with-versioning-and-retention/motioneye/Camera2/2022-01-04/15-26-20.jpg` (versionId=e076f7e7-0a3e-4026-84ad-f0345be0769a, modTime=2022-01-04 15:04:00.74 +0000 UTC).
Removing `myminio/worm-with-versioning-and-retention/motioneye/Camera2/2022-01-04/15-26-21.jpg` (versionId=2a7c2ee3-b46a-4d5c-8375-556743e8c404, modTime=2022-01-04 15:04:00.669 +0000 UTC).
Removing `myminio/worm-with-versioning-and-retention/motioneye/Camera2/2022-01-04/15-26-22.jpg` (versionId=500b4e3a-2138-4a0a-bd08-778e816cef70, modTime=2022-01-04 15:04:00.733 +0000 UTC).
mc: <ERROR> Failed to remove `/worm-with-versioning-and-retention/motioneye/Camera2/2022-01-04/15-26-22.jpg`. Object is WORM protected and cannot be overwritten
root@rpi-iot-jsho-cam-02:~#
root@rpi-iot-jsho-cam-02:~# date
Wed 12 Jan 2022 12:04:08 PM CET
root@rpi-iot-jsho-cam-02:~#

root@rpi-iot-jsho-cam-02:~# ./mc rb –force myminio/worm-with-versioning-and-retention5d
mc: <ERROR> Failed to remove `myminio/worm-with-versioning-and-retention5d`. Object is WORM protected and cannot be overwritten.
root@rpi-iot-jsho-cam-02:~#
root@rpi-iot-jsho-cam-02:~# ./mc du –versions myminio/worm-with-versioning-and-retention5d
332MiB worm-with-versioning-and-retention5d
root@rpi-iot-jsho-cam-02:~#

Leave a Reply

You must be logged in to post a comment.