Starten Sie das Gerät, wenn der Netzadapter angeschlossen ist

293
Tim

Ich möchte, dass systemd eine Unit-Datei startet, wenn das Netzteil meines Laptops angeschlossen ist. Ebenso möchte ich dasselbe Gerät anhalten, wenn der Adapter nicht angeschlossen ist. Anhängen der Unit-Datei an das Ereignis Ich weiß nicht wirklich, wie das Zeug funktioniert.

Hintergrund

Ich habe eine Reihe von Wartungsskripts, die über Nacht von fcron ausgeführt werden. Ich möchte nicht, dass die Skripts ausgeführt werden, wenn AC nicht angeschlossen ist. In diesem Moment überprüfen alle Skripts den AC-Status und retten sie aus, wenn sie nicht im AC sind.

if [ `cat /sys/class/power_supply/AC/online` -eq 0 ] then exit 0 fi 

Dies funktioniert jedoch für fcron, und der Job wurde bis zur nächsten Nacht ausgeführt. Wenn ich zu einem späteren Zeitpunkt der Nacht die Stromversorgung anschließen möchte, möchte ich, dass die Jobs ausgeführt werden. (wenn innerhalb des in crontab festgelegten Zeitrahmens)

Da fcron nur diese Art von Skripten ausführt, würde ich fcron lieber weit mehr stoppen, wenn der AC-Stecker gezogen ist, und nach dem Einstecken starten.

Die sauberste Lösung gewinnt (weniger Skript = besser)

1
Diese Antwort kann Ihnen helfen: https://unix.stackexchange.com/a/87750/130000 pim vor 6 Jahren 1
Der vorgeschlagene Link gilt für ACPID, die ich nicht installiert habe. Und wahrscheinlich hört ACPID Uevents auf, die zuerst von udev verarbeitet werden. Welches ist wieder Teil von Systemd. Diese Lösung erfordert auch zusätzliche Skripte, während das Ziel dieser Eroberung darin besteht, weniger Skripte zu verwenden. Tim vor 6 Jahren 0

0 Antworten auf die Frage