GNU/Linux >> Znalost Linux >  >> Linux

Linux – Spouštět skript každých 30 minut pomocí Systemd?

Chtěl bych spustit skript každých 30 minut po nabootování do systému. Vím, že můžete používat cron, ale neplánuji tuto funkci používat často, proto bych to rád zkusil se systemd.

Zatím jsem našel pouze monotónní časovače, které umožňují provést něco jednou (alespoň si to myslím). Jak by fungoval foo.timer a [email protected] vypadat jako v případě, že bych chtěl každých 30 minut od spuštění/spuštění systému něco provést?

[e-mail chráněn]

[Unit]
Description=run foo
Wants=foo.timer

[Service]
User=%I
Type=simple
ExecStart=/bin/bash /home/user/script.sh

foo.timer

[Unit]
Description=run foo

[Timer]
where I am stuck... ???

Přijatá odpověď:

Musíte vytvořit dva soubory:jeden pro službu, druhý pro časovač se stejným názvem.

příklad:

/etc/systemd/system/test.service

[Unit]
Description=test job

[Service]
Type=oneshot
ExecStart=/bin/bash /tmp/1.sh

/etc/systemd/system/test.timer

[Unit]
Description=test

[Timer]
OnUnitActiveSec=10s
OnBootSec=10s

[Install]
WantedBy=timers.target

poté znovu načtěte systemd pomocí příkazu systemctl daemon-reload a spusťte časovač pomocí systemctl start test.timer , nebo jej povolte ve výchozím nastavení (systemctl enable test.timer ).

otestujte obsah 1.sh

#!/bin/bash
echo `date` >> /tmp/2

A příkaz pro kontrolu všech dostupných časovačů:systemctl list-timers --all

Podrobnější informace na stránce projektu a příklady na stránce ArchLinux


Linux
  1. Jak přidat shebang #! s php skriptem na linuxu?

  2. Povolení bash.sh ke spuštění cronu odepřeno

  3. Jak spustím skript před vším ostatním při vypnutí pomocí systemd?

  1. Linux – Jak spustit skript pomocí Systemd těsně před vypnutím?

  2. Spustit skript s argumenty jako uživatel?

  3. Jak spustit skript s systemd těsně před vypnutím?

  1. Snadno spusťte software Windows na Linuxu pomocí Bottles

  2. Zkompilujte PHP skript v Linuxu

  3. Ubuntu - Spusťte příkaz při spuštění pomocí sudo