Mac Mini M4: Unterschied zwischen den Versionen
Zur Navigation springen
Zur Suche springen
Signux (Diskussion | Beiträge) Keine Bearbeitungszusammenfassung |
Signux (Diskussion | Beiträge) Keine Bearbeitungszusammenfassung |
||
| (8 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt) | |||
| Zeile 11: | Zeile 11: | ||
= Sensordaten versenden = | = Sensordaten versenden = | ||
* Dafür hab ich ein script unter "bin" abgelegt | * Dafür hab ich ein script unter "bin" abgelegt | ||
* das sript wird via cronjob ausgeführt | <pre> | ||
* conjob kann mit <code>crontab -e</code> angelegt werden | #!/bin/bash | ||
* mit <code>export EDITOR=nano</code> kann man den default editor auf nano umstellen | Uuid=$(hostname) | ||
Load10m=$(uptime | awk '{print $(NF-1)}') | |||
Load15m=$(uptime | awk '{print $NF}') | |||
Load1m=$(uptime | awk '{print $10}' | sed 's/,//') | |||
Processes=$(ps hax | wc -l | awk '{$1=$1; print}') | |||
Users=$(who | cut -f 1 -d ' ' | sort | uniq | wc -l | awk '{$1=$1; print}') | |||
JsonLoad10m="{\"value_type\":\"load 10 min\",\"value\":\"$Load10m\"}" | |||
JsonLoad15m="{\"value_type\":\"load 15 min\",\"value\":\"$Load15m\"}" | |||
JsonLoad1m="{\"value_type\":\"load 1 min\",\"value\":\"$Load1m\"}" | |||
JsonProcesses="{\"value_type\":\"Processes\",\"value\":\"$Processes\"}" | |||
JsonUsers="{\"value_type\":\"Users\",\"value\":\"$Users\"}" | |||
Json="{\"software_version\":\"1\",\"uuid\":\"$Uuid\",\"sensordatavalues\":[$JsonLoad1m,$JsonLoad10m,$JsonLoad15m,$JsonProcesses,$JsonUsers]}" | |||
#echo "Sending JSON: $Json" | |||
/usr/bin/curl --silent -H "Content-Type: application/json" -X POST -d "$Json" -u <user>:<password> https://sensors.sig-nux.de/data.php > /dev/null | |||
</pre> | |||
* Datei <code>send.semnsor.data.plist</code> unter <code>/Library/LaunchDaemons</code> mit dem folgenden Inhalt angelegt: | |||
<pre> | |||
<?xml version="1.0" encoding="UTF-8"?> | |||
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> | |||
<plist version="1.0"> | |||
<dict> | |||
<key>Label</key> | |||
<string>send.semnsor.data</string> | |||
<key>ProgramArguments</key> | |||
<array> | |||
<string>/Users/DEINUSER/bin/sendsensordata.sh</string> | |||
</array> | |||
<!-- alle 2 minuten ausf??hren --> | |||
<key>StartInterval</key> | |||
<integer>120</integer> | |||
<key>RunAtLoad</key> | |||
<true/> | |||
<!-- Error log --> | |||
<key>StandardErrorPath</key> | |||
<string>/tmp/send.sensor.data.err</string> | |||
<!-- Default log --> | |||
<key>StandardOutPath</key> | |||
<string>/tmp/send.sensor.data.out</string> | |||
</dict> | |||
</plist> | |||
</pre> | |||
* Rechte setzen | |||
<pre> | |||
sudo chown root:wheel /Library/LaunchDaemons/send.semnsor.data.plist | |||
sudo chmod 644 /Library/LaunchDaemons/send.semnsor.data.plist | |||
</pre> | |||
* Job starten | |||
<pre> | |||
sudo launchctl load /Library/LaunchDaemons/send.semnsor.data.plist | |||
</pre> | |||
* Damit der Job durch weg daten senden kann sollte der Rechner nicht sich nicht in den sleep-Modus versetzen, dies kann via pmset konfiguriert werden. | |||
** Einstellungen abfragen: | |||
<pre> | |||
user@mac% pmset -g | |||
System-wide power settings: | |||
Currently in use: | |||
standby 0 | |||
Sleep On Power Button 1 | |||
autorestart 1 | |||
powernap 1 | |||
networkoversleep 0 | |||
disksleep 0 | |||
sleep 0 (sleep prevented by powerd) | |||
ttyskeepawake 1 | |||
displaysleep 5 | |||
tcpkeepalive 1 | |||
lowpowermode 0 | |||
womp 0 | |||
</pre> | |||
** Ruhezustand deaktivieren mit <code>pmset -a sleep 0</code> | |||
** Bildschirm nach 5min inaktivität abschalten lassen <code>pmset -a displaysleep 5</code> | |||
** Automatischer neustart nach Stromausfall <code>pmset -a autorestart 1</code> | |||
* Im ersten versuch hatte ich es mit einem Cronjob versucht, aber das hatte nur zuverlässig funktioniert wenn ein Benutzer angemeldet war... | |||
** das sript wird via cronjob ausgeführt | |||
** conjob kann mit <code>crontab -e</code> angelegt werden | |||
** mit <code>export EDITOR=nano</code> kann man den default editor auf nano umstellen | |||
= Docker = | = Docker = | ||
| Zeile 20: | Zeile 111: | ||
* Installation via brew: <code>brew install colima</code> | * Installation via brew: <code>brew install colima</code> | ||
* Start: <code>colina start</code> | * Start: <code>colina start</code> | ||
* Informationen: <code>colima ls</code> | |||
<pre> | |||
PROFILE STATUS ARCH CPUS MEMORY DISK RUNTIME ADDRESS | |||
default Running aarch64 2 2GiB 100GiB docker | |||
</pre> | |||
* Startparameter: | |||
<pre> | |||
-c, --cpus int number of CPUs (default 2) | |||
-d, --disk int disk size in GiB (default 100) | |||
-m, --memory float32 memory in GiB (default 2) | |||
</pre> | |||
Aktuelle Version vom 20. November 2025, 05:29 Uhr
Was möchte ich haben:
- Externe Festplatte anbinden
- Ich möchte Sensor-daten versenden
- Ich möchte einen Docker container laufen lassen
Externe Festplatte anbinden
- Externes Laufwerk automatisch einbinden lassen
sudo defaults write /Library/Preferences/SystemConfiguration/autodiskmount AutomountDisksWithoutUserLogin -bool true
Sensordaten versenden
- Dafür hab ich ein script unter "bin" abgelegt
#!/bin/bash
Uuid=$(hostname)
Load10m=$(uptime | awk '{print $(NF-1)}')
Load15m=$(uptime | awk '{print $NF}')
Load1m=$(uptime | awk '{print $10}' | sed 's/,//')
Processes=$(ps hax | wc -l | awk '{$1=$1; print}')
Users=$(who | cut -f 1 -d ' ' | sort | uniq | wc -l | awk '{$1=$1; print}')
JsonLoad10m="{\"value_type\":\"load 10 min\",\"value\":\"$Load10m\"}"
JsonLoad15m="{\"value_type\":\"load 15 min\",\"value\":\"$Load15m\"}"
JsonLoad1m="{\"value_type\":\"load 1 min\",\"value\":\"$Load1m\"}"
JsonProcesses="{\"value_type\":\"Processes\",\"value\":\"$Processes\"}"
JsonUsers="{\"value_type\":\"Users\",\"value\":\"$Users\"}"
Json="{\"software_version\":\"1\",\"uuid\":\"$Uuid\",\"sensordatavalues\":[$JsonLoad1m,$JsonLoad10m,$JsonLoad15m,$JsonProcesses,$JsonUsers]}"
#echo "Sending JSON: $Json"
/usr/bin/curl --silent -H "Content-Type: application/json" -X POST -d "$Json" -u <user>:<password> https://sensors.sig-nux.de/data.php > /dev/null
- Datei
send.semnsor.data.plistunter/Library/LaunchDaemonsmit dem folgenden Inhalt angelegt:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>Label</key>
<string>send.semnsor.data</string>
<key>ProgramArguments</key>
<array>
<string>/Users/DEINUSER/bin/sendsensordata.sh</string>
</array>
<!-- alle 2 minuten ausf??hren -->
<key>StartInterval</key>
<integer>120</integer>
<key>RunAtLoad</key>
<true/>
<!-- Error log -->
<key>StandardErrorPath</key>
<string>/tmp/send.sensor.data.err</string>
<!-- Default log -->
<key>StandardOutPath</key>
<string>/tmp/send.sensor.data.out</string>
</dict>
</plist>
- Rechte setzen
sudo chown root:wheel /Library/LaunchDaemons/send.semnsor.data.plist sudo chmod 644 /Library/LaunchDaemons/send.semnsor.data.plist
- Job starten
sudo launchctl load /Library/LaunchDaemons/send.semnsor.data.plist
- Damit der Job durch weg daten senden kann sollte der Rechner nicht sich nicht in den sleep-Modus versetzen, dies kann via pmset konfiguriert werden.
- Einstellungen abfragen:
user@mac% pmset -g System-wide power settings: Currently in use: standby 0 Sleep On Power Button 1 autorestart 1 powernap 1 networkoversleep 0 disksleep 0 sleep 0 (sleep prevented by powerd) ttyskeepawake 1 displaysleep 5 tcpkeepalive 1 lowpowermode 0 womp 0
- Ruhezustand deaktivieren mit
pmset -a sleep 0 - Bildschirm nach 5min inaktivität abschalten lassen
pmset -a displaysleep 5 - Automatischer neustart nach Stromausfall
pmset -a autorestart 1
- Ruhezustand deaktivieren mit
- Im ersten versuch hatte ich es mit einem Cronjob versucht, aber das hatte nur zuverlässig funktioniert wenn ein Benutzer angemeldet war...
- das sript wird via cronjob ausgeführt
- conjob kann mit
crontab -eangelegt werden - mit
export EDITOR=nanokann man den default editor auf nano umstellen
Docker
Colima
- Installation via brew:
brew install colima - Start:
colina start - Informationen:
colima ls
PROFILE STATUS ARCH CPUS MEMORY DISK RUNTIME ADDRESS default Running aarch64 2 2GiB 100GiB docker
- Startparameter:
-c, --cpus int number of CPUs (default 2) -d, --disk int disk size in GiB (default 100) -m, --memory float32 memory in GiB (default 2)