From 4e0dae29c36e2d6fdc842132335b1197b670a3cf Mon Sep 17 00:00:00 2001 From: trnq1ll0 Date: Tue, 11 Mar 2025 23:16:25 +0100 Subject: [PATCH] add macos recording backup --- macos/.DS_Store | Bin 0 -> 8196 bytes macos/Backup-Recordings/.DS_Store | Bin 0 -> 6148 bytes macos/Backup-Recordings/Library/.DS_Store | Bin 0 -> 6148 bytes .../com.backup-recordings-to-bfds.plist | 30 +++++++++++++ .../backup-recordings-to-bfds.sh | 40 ++++++++++++++++++ macos/README.md | 13 ++++++ 6 files changed, 83 insertions(+) create mode 100644 macos/.DS_Store create mode 100644 macos/Backup-Recordings/.DS_Store create mode 100644 macos/Backup-Recordings/Library/.DS_Store create mode 100644 macos/Backup-Recordings/Library/LaunchAgents/com.backup-recordings-to-bfds.plist create mode 100755 macos/Backup-Recordings/backup-recordings-to-bfds.sh create mode 100644 macos/README.md diff --git a/macos/.DS_Store b/macos/.DS_Store new file mode 100644 index 0000000000000000000000000000000000000000..0f63d1d32cd1c1a1798c43c9d42c734b43ee2c5f GIT binary patch literal 8196 zcmeHMYit!o6h3EL=q^j?6br6i9v7=Y$VJ)$Z2=#bJ}g*FO>bWmA zqNMSv(I38IOf+yVf06s=|e0{~R2oHCu7^AtYM>p4YrsD5;j0T*pNR* zIv$8U5PKl@KVQ%mF#0k^848N8 zlU`DY1EwX7+t>rK2hQ~X51)GI0FyHI@mcx14+XHm0T0F?$d!Z1oa^UE`kmaQ>jYs_ z)0e1JRWDdrLq)H-J#)Y>XF@Y91|4Q$FXsk)-_6bR&D@Y3#=N>y4H4hEgheF;T38T(v z;1|M9p)=ypGJG=2STV5sZPIm0b{DM>G|aILwbyEwCz4mMyKYna4IMqbeW#YxvHGQY zgFZ@*^g`!O$1dzKgS_oojyE<~cC7HgaLEaroNEtw=7g=)5UyHO5+fAfWB5%#?!b^^`s^ zPA9FgK#pwGn~g!&%-OESEUC6xZ#9NX(w!RXm4jRL?Z!ynpO_$10@`Ux4&P{`js5(~ zyUif%o3uT?t7CGm)95xvg9B#4?kf}6RQ8D+-$~=*m}rKpbz4s87ot7yCR6tC1$S7M zFr>bYEisJ#jHseEbK!n$2O~pq_1jJDJPmoQf)Z8LcO-#!2D z|Cg`_V$)&|#2&!vu1r@4`C+~rkmuS-s&`Q3h09eW6)Mz-beyP2$BCZ(havToB+7Nt f5v@o{BUJwL9|F$v$8-Gt$M66A=oc`(5d*9lB>Tsm*uI^?!U!>(qPjdRa8?j7v-E^ser+Qkyz2CpQo|mH9A4IKg zw^uvUMO`}s&VV!E3^)V7WI!G`NHtb;?F={r&cGJ~az6w#!D!ek=BooLmjJ*KhO@wy zT0(MyVKnR&;eoKG0yUMb#9&Rwc(Ax=*ehx}u@xU|D}NR*oL9&EA%_!3Mc2-NGcaV} zP`eX(|1a>#6pQ>}iuarWXJF45;88uVXE>C-tvkn)w>F?%p@~RbF9rnm;3ohbxkpa2 dQ~g0~#6`niQD%|xoDTFKflP=iXW$PQ_yAIEHtGNX literal 0 HcmV?d00001 diff --git a/macos/Backup-Recordings/Library/.DS_Store b/macos/Backup-Recordings/Library/.DS_Store new file mode 100644 index 0000000000000000000000000000000000000000..ed6ee2fcf0a40679c31d2c9247daa596cdeab657 GIT binary patch literal 6148 zcmeHKOHKnZ47F*IMuJ5pHY{_6-XN`p9lKrtW(KtqQ>IeeeU8zibjgZ6H{#h2sD+^t z8-$Q8CC_o}eBNl{got>$ZN@|+A}UY>S(F|Tb8pvKc0LEPj#1NsCN!r9dg>YIFPdcS zmvl?_w8fea*T124v##5!>soB?d#83jp4HuQWxE^fPx&spvaH&!f=}`KxVzdszf4a1 zH$U=UEe_WrAJxSfa0Z+KXTTZw%z&gdNO584wKL!hI0GLH$oUXZ1Y^czs7D7XeF6Z7 zFsne0T?qTLs%eep+F1e{KQ}jhdpG!m@yezII+%*aq`UXj~C9DUJmL`91Xp8 z2AqLo1_ss~N&dgVuhjdNt?Mbc;D0e6#;+I5$K-W|Z k)KrXyoFmuTY5hTT^v8_JP(~5Eh6DW~poDnk4EzEEZ<&-mHUIzs literal 0 HcmV?d00001 diff --git a/macos/Backup-Recordings/Library/LaunchAgents/com.backup-recordings-to-bfds.plist b/macos/Backup-Recordings/Library/LaunchAgents/com.backup-recordings-to-bfds.plist new file mode 100644 index 0000000..057910d --- /dev/null +++ b/macos/Backup-Recordings/Library/LaunchAgents/com.backup-recordings-to-bfds.plist @@ -0,0 +1,30 @@ + + + + + Label + com.backup-recordings-to-bfds + + ProgramArguments + + /bin/bash + /Users/rob/code/lokale-scripte/macos/Backup-Recordings/backup-recordings-to-bfds.sh + + + StartCalendarInterval + + Hour + 12 + Minute + 0 + + + StandardOutPath + /Users/rob/code/lokale-scripte/macos/Backup-Recordings/run-backup-recordings_output.log + StandardErrorPath + /Users/rob/code/lokale-scripte/macos/Backup-Recordings/run-backup-recordings_error.log + + RunAtLoad + + + diff --git a/macos/Backup-Recordings/backup-recordings-to-bfds.sh b/macos/Backup-Recordings/backup-recordings-to-bfds.sh new file mode 100755 index 0000000..d0d107f --- /dev/null +++ b/macos/Backup-Recordings/backup-recordings-to-bfds.sh @@ -0,0 +1,40 @@ +#!/bin/bash + +# Quelle und Ziel definieren +SOURCE="/Users/rob/Recordings/Work/" +TARGET="/Volumes/rob/recordings/Progress/Work/" +MOUNT_POINT="/Volumes/rob" +SERVER_ADDRESS="smb://bfds/rob" + +# Prüfen, ob das Netzlaufwerk gemountet ist +if mount | grep -q "$MOUNT_POINT"; then + echo "Netzlaufwerk ist gemountet. Backup startet..." +else + echo "Netzlaufwerk nicht gefunden. Versuche zu mounten..." + osascript -e "mount volume \"$SERVER_ADDRESS\"" + + # Nach dem Mounten erneut prüfen + if mount | grep -q "$MOUNT_POINT"; then + echo "Netzlaufwerk erfolgreich gemountet." + else + echo "Fehler: Netzlaufwerk konnte nicht gemountet werden." + osascript -e 'display notification "Backup fehlgeschlagen! Netzlaufwerk nicht erreichbar." with title "Backup Script"' + exit 1 + fi +fi + +# Sicherung starten +rsync -v -r -l -t -D "$SOURCE" "$TARGET" + +# -r → Rekursiv kopieren (alle Unterordner & Dateien) +# -l → Symbolische Links kopieren +# -t → Zeitstempel beibehalten +# -D → Geräte- und Sonderdateien kopiere + +# Erfolgsmeldung ausgeben +echo "Backup abgeschlossen: $DATE" + +# Optional: Notification für macOS anzeigen +osascript -e 'display notification "Backup abgeschlossen!" with title "Backup Script"' + + diff --git a/macos/README.md b/macos/README.md new file mode 100644 index 0000000..dece482 --- /dev/null +++ b/macos/README.md @@ -0,0 +1,13 @@ +Die *.plist datei definiert wann immer das cript startet (12Uhr täglich) + +Die Befehle um das script in LaunchAgents einzufügen: + +# Im Terminal benutzen + +- wenn $(id -u) fehler wirft den aktuellen user id manuell eingeben. sollte 501 sein +- bootout löscht erstmal das alte zeug und bootstrap fügt es neu hinzu. + +``` +launchctl bootout gui/$(id -u) ~/Library/LaunchAgents/com.backup-recordings-to-bfds.plist +launchctl bootstrap gui/$(id -u) ~/Library/LaunchAgents/com.backup-recordings-to-bfds.plist +``` \ No newline at end of file