Skocz do zawartości


 

Zdjęcie

Systemd restart usługi po określonym czasie od startu systemu

Systemd restart usługi po określonym czasie od startu systemu

  • Proszę się zalogować aby odpowiedzieć
3 odpowiedzi na ten temat

Systemd restart usługi po określonym czasie od startu systemu

#1 Fizyda

Fizyda

    Stały użytkownik

  • WHT Pro
  • PipPipPipPipPip
  • 498 postów

Napisany 03 sierpień 2016 - 21:10

Temat może wydawać się skomplikowany, ale już wyjaśniam.

 

Chcę po np 1 minucie po starcie systemu zresetować jedną systemową usługę. Może to być zrobione przez wywołanie skryptu lub wykonanie komendy w systemd. W obu przypadkach zaczynam od systemd.

 

Za każdym razem z czymś mam problem. W pierwszym przypadku mam:

[Unit]
Description=restart my service
After=myservice.service

[Service]
ExecStart=/usr/sbin/service myservice restart

[Install]
WantedBy=multi-user.target

i działa, lecz nie umiem opóźnić wykonania tej komendy. Początkowo myślałem, że jest w service jakaś opcja od delay czy coś w tym stylu lecz nie znalazłem, potem myślałem coś nad timerem, ale nie wiem jak go ugryźć.

 

Drugie rozwiązanie to:

[Unit]
Description=Auto execute script before system init

[Service]
ExecStart=/root/autoexec

[Install]
WantedBy=multi-user.target

oraz /root/autoexec.sh

#!/bin/bash

sleep 30 && systemctl restart myservice;

Próbowałem ExecStart z .sh jak i w skrypcie service myservice restart, ale za każdym razem efekt jest taki samy, czyli nie da się uruchomić

Failed at step EXEC spawning /root/auto...ry

Ktoś coś podpowie?


  • 0

#2 hemi

hemi

    Regularny użytkownik

  • Użytkownicy
  • 81 postów
  • Skąd:Elbląg
  • Imię:Marcin
  • Nazwisko:Jaworski

Napisany 04 sierpień 2016 - 09:22

Spójrz na timery w systemd: https://wiki.archlin.../Systemd/Timers
Osobiście nie miałem nigdy potrzeby pisać usługi z delayem ale myślę, że pod tym linkiem znajdziesz podpowiedź lub rozwiązanie ;)


  • 0

#3 Fizyda

Fizyda

    Stały użytkownik

  • WHT Pro
  • PipPipPipPipPip
  • 498 postów

Napisany 04 sierpień 2016 - 13:20

Dobra załóżmy że timer opóźni mi start, ale jak uruchomić jeden raz przy pomocy systemd bashowy skrypt po starcie systemu? Kombinuje już z różnymi typami i w ogóle nie mogę uruchomić skryptu przy pomocy systemd.

 

Nie było pytania, miałem złe chmody ...


Edytowany przez Fizyda, 04 sierpień 2016 - 13:27.

  • 0

#4 Gość_mariaczi_*

Gość_mariaczi_*
  • Goście

Napisany 04 sierpień 2016 - 13:27

Pokaż "ls -la" dla katalogu gdzie masz te(n) skrypt.

 

:D


Edytowany przez mariaczi, 04 sierpień 2016 - 13:29.

  • 1





0 użytkowników czyta ten temat

0 użytkowników, 0 gości, 0 anonimowych użytkowników