79 lines
2.2 KiB
Bash
Executable File
79 lines
2.2 KiB
Bash
Executable File
#!/bin/bash
|
|
|
|
# Skrypt instalacji systemd service dla read-energy
|
|
|
|
set -e
|
|
|
|
echo "========================================"
|
|
echo "Instalacja read-energy systemd service"
|
|
echo "========================================"
|
|
echo ""
|
|
|
|
# Sprawdź czy jesteś użytkownikiem root lub masz sudo
|
|
if [ "$EUID" -ne 0 ]; then
|
|
echo "Uruchom jako root lub z sudo:"
|
|
echo " sudo bash install-systemd.sh"
|
|
exit 1
|
|
fi
|
|
|
|
# Sprawdź czy program istnieje
|
|
PROG_PATH="/home/ms/projekty/python3/modebus/ornoserial3/modborno3"
|
|
if [ ! -f "$PROG_PATH" ]; then
|
|
echo "ERROR: Program nie istnieje: $PROG_PATH"
|
|
echo "Najpierw skompiluj program:"
|
|
echo " cd /home/ms/projekty/python3/modebus/ornoserial3"
|
|
echo " bash cc-modb_orno3.sh"
|
|
exit 1
|
|
fi
|
|
|
|
echo "✓ Program znaleziony: $PROG_PATH"
|
|
|
|
# Sprawdź czy użytkownik ms jest w grupie dialout
|
|
if ! groups ms | grep -q dialout; then
|
|
echo "⚠ Użytkownik 'ms' nie jest w grupie 'dialout'"
|
|
echo " Dodaję do grupy..."
|
|
usermod -a -G dialout ms
|
|
echo "✓ Dodano do grupy dialout (wymagane ponowne logowanie)"
|
|
else
|
|
echo "✓ Użytkownik 'ms' jest w grupie 'dialout'"
|
|
fi
|
|
|
|
# Kopiuj pliki
|
|
echo ""
|
|
echo "Kopiowanie plików do /etc/systemd/system/..."
|
|
cp -v read-energy.service /etc/systemd/system/
|
|
cp -v read-energy.timer /etc/systemd/system/
|
|
|
|
# Przeładuj systemd
|
|
echo ""
|
|
echo "Przeładowywanie systemd..."
|
|
systemctl daemon-reload
|
|
|
|
# Włącz timer
|
|
echo ""
|
|
echo "Włączanie timera (autostart)..."
|
|
systemctl enable read-energy.timer
|
|
|
|
# Uruchom timer
|
|
echo ""
|
|
echo "Uruchamianie timera..."
|
|
systemctl start read-energy.timer
|
|
|
|
# Status
|
|
echo ""
|
|
echo "========================================"
|
|
echo "Instalacja zakończona!"
|
|
echo "========================================"
|
|
echo ""
|
|
systemctl status read-energy.timer --no-pager
|
|
echo ""
|
|
echo "Timer będzie uruchamiał odczyt co 10 sekund."
|
|
echo ""
|
|
echo "Komendy:"
|
|
echo " sudo systemctl status read-energy.timer - status timera"
|
|
echo " sudo systemctl status read-energy.service - status serwisu"
|
|
echo " sudo journalctl -u read-energy.service -f - logi w czasie rzeczywistym"
|
|
echo " systemctl list-timers read-energy.timer - kiedy następny odczyt"
|
|
echo ""
|
|
echo "Więcej informacji: SYSTEMD_INSTALL.md"
|