systemd timer: pause nach boot funktioniert nicht

  • Distrowahl
    Linux Mint
    Bitte den Befehl "inxi -Fzxi" (ohne die Anführungszeichen) im Terminal ausführen und die Ausgabe dann hier hinein kopieren
    System:
    Kernel: 6.8.0-54-generic arch: x86_64 bits: 64 compiler: gcc v: 13.3.0
    Desktop: Cinnamon v: 6.2.9 Distro: Linux Mint 22 Wilma
    base: Ubuntu 24.04 noble
    Machine:
    Type: Desktop System: MEDION product: P5100 2410 v: H81EM2W08.309
    serial: <superuser required>
    Mobo: MEDION model: H81H3-EM2 v: H81EM2W08.309
    serial: <superuser required> BIOS: American Megatrends v: H81EM2W08.309
    date: 10/29/2014
    Battery:
    Device-1: hidpp_battery_16 model: Logitech Wireless Mouse
    charge: 55% (should be ignored) status: discharging
    Device-2: hidpp_battery_17 model: Logitech Wireless Keyboard
    charge: 55% (should be ignored) status: discharging
    CPU:
    Info: dual core model: Intel Core i3-4160 bits: 64 type: MT MCP
    arch: Haswell rev: 3 cache: L1: 128 KiB L2: 512 KiB L3: 3 MiB
    Speed (MHz): avg: 841 high: 968 min/max: 800/3600 cores: 1: 800 2: 798
    3: 800 4: 968 bogomips: 28733
    Flags: avx avx2 ht lm nx pae sse sse2 sse3 sse4_1 sse4_2 ssse3 vmx
    Graphics:
    Device-1: Intel 4th Generation Core Processor Family Integrated Graphics
    vendor: Elite Systems driver: i915 v: kernel arch: Gen-7.5 bus-ID: 00:02.0
    Display: x11 server: X.Org v: 21.1.11 with: Xwayland v: 23.2.6 driver: X:
    loaded: modesetting unloaded: fbdev,vesa dri: crocus gpu: i915 resolution:
    1: N/A 2: 1920x1080~60Hz
    API: EGL v: 1.5 drivers: crocus,swrast platforms:
    active: gbm,x11,surfaceless,device inactive: wayland
    API: OpenGL v: 4.6 compat-v: 4.5 vendor: intel mesa
    v: 24.2.8-1ubuntu1~24.04.1 glx-v: 1.4 direct-render: yes renderer: Mesa
    Intel HD Graphics 4400 (HSW GT2)
    Audio:
    Device-1: Intel Xeon E3-1200 v3/4th Gen Core Processor HD Audio
    vendor: Elite Systems driver: snd_hda_intel v: kernel bus-ID: 00:03.0
    Device-2: Intel 8 Series/C220 Series High Definition Audio
    vendor: Elite Systems 8 driver: snd_hda_intel v: kernel bus-ID: 00:1b.0
    API: ALSA v: k6.8.0-54-generic status: kernel-api
    Server-1: PipeWire v: 1.0.5 status: active
    Network:
    Device-1: Realtek RTL8111/8168/8211/8411 PCI Express Gigabit Ethernet
    vendor: Elite Systems RTL8111/8168/8411 driver: r8169 v: kernel port: e000
    bus-ID: 02:00.0
    IF: enp2s0 state: up speed: 1000 Mbps duplex: full mac: <filter>
    IP v4: <filter> type: noprefixroute scope: global
    IP v6: <filter> type: noprefixroute scope: link
    WAN IP: <filter>
    Drives:
    Local Storage: total: 5.69 TiB used: 1.2 TiB (21.0%)
    ID-1: /dev/sda vendor: MSI model: S270 240GB size: 223.57 GiB
    ID-2: /dev/sdb vendor: Western Digital model: WD60EFPX-68C5ZN0
    size: 5.46 TiB
    ID-3: /dev/sdc vendor: SanDisk model: Cruzer Blade size: 14.91 GiB
    type: USB
    Partition:
    ID-1: / size: 218.51 GiB used: 86.39 GiB (39.5%) fs: ext4 dev: /dev/sda3
    ID-2: /boot/efi size: 512 MiB used: 6.1 MiB (1.2%) fs: vfat dev: /dev/sda2
    Swap:
    ID-1: swap-1 type: file size: 3.89 GiB used: 512 KiB (0.0%) file: /swapfile
    Sensors:
    System Temperatures: cpu: 37.0 C mobo: N/A
    Fan Speeds (rpm): N/A
    Info:
    Memory: total: 8 GiB available: 7.67 GiB used: 3.08 GiB (40.2%)
    Processes: 261 Uptime: 23h 16m Init: systemd target: graphical (5)
    Packages: 2014 Compilers: gcc: 13.3.0 Shell: Bash v: 5.2.21 inxi: 3.3.34

    Ich habe folgende systemd Timer Datei geschrieben

    /home/user/.config/systemd/user/unattendedshutdown.timer

    Versuch 1:

    Code
    [Unit]
    Description=Unattended Shutdown Run
    
    [Timer]
    OnBootSec=165min
    OnUnitActiveSec=20min
    Unit=unattendedshutdownrun.service
    
    [Install]
    WantedBy=default.target


    Versuch 2:

    Code
    [Unit]
    Description=Unattended Shutdown Run
    
    [Timer]
    OnStartupSec=165min
    OnActiveSec=20min
    Unit=unattendedshutdownrun.service
    
    [Install]
    WantedBy=default.target

    danach

    Code
    systemctl --user enable unattendedshutdown.timer
    systemctl --user start unattendedshutdown.timer


    und danach hatte ich mit Versuch 1 und 2 folgendes Phänomen

    165 Minuten pause nach boot
    ausführung
    20 minuten pause
    ausführung
    20 minuten pause
    ausführung
    herunterfahren
    hochfahren
    20 minuten pause
    ausführung
    20 minuten pause
    ausführung
    20 minuten pause
    ausführung

    Also nach dem Herunterfahren und Hochfahren funktionieren die 165 Minuten pause nach boot nicht mehr. Ich hatte auch versucht

    Code
    systemctl --user stop unattendedshutdown.timer
    systemctl --user disable unattendedshutdown.timer
    systemctl --user daemon-reload
    systemctl --user enable unattendedshutdown.timer
    systemctl --user start unattendedshutdown.timer


    selbst danach bleibt systemd bei den 20 Minuten pause und ignoriert die 165 Minuten pause nach boot.

    Das einzige was hilft ist alle Namen zu ändern also den Skriptnamen welches unattendedshutdownrun.service ausführt, den Namen unattendedshutdownrun.service selbst den Namen von unattendedshutdown.timer alles aktiveren und starten dann funktioniert das ganze genau bis zum ersten herunterfahren.

    Ich habe auch schon ein paar KI's befragt, mir die systemd Dokumentation durchgelesen und ein paar youtube Videos angesehen komme aber an der stelle nicht weiter.

    Ich bitte um Hilfe, Vielen Dank im Vorraus.

  • Hallo und Willkommen im Forum

    Ich glaube das Problem ist, dass systemd versucht alle Timer Events "nachzuholen" die aufgelaufen sind während der Computer heruntergfahren ist. Das Problem kannst du beheben in dem du ein Persistent=false hinzufügst.

    Also quasi so (ungetestet):

  • Vielen Dank für die Antwort aber mittlerweile bin ich langsam mit meinem latein am ende, jetzt ingoriert systemd selbst nach dem Hochfahren alle Namen ändern timer aktivieren und starten die Option OnBootSec als auch OnStartupUSec


  • ich habe jetzt folgendes gemacht:

    alles gestoppt und deaktiviert

    Code
    systemctl --user daemon-reload
    systemctl --user reset-failed
    systemctl --user daemon-reexec

    herunterfahren
    hochfahren
    alle namen geändert
    alles aktiviert und gestartet

    dennoch ignoriert systemd OnStartupUSec

  • Vielen Dank für die Unterstützung, aber nach ungefähr 8 Stunden vergeblichen Debug Aufwand reichts mir jetzt mit systemd und habe mir aus

    echo "path/to/unattenededshutdown.sh" | at now +165 minutes

    Und

    echo "path/to/unattenededshutdown.sh" | at now +20 minutes

    Eine Endlosschleife gebaut.

Participate now!

Don’t have an account yet? Register yourself now and be a part of our community!