Re: periodiekejob met parameter en systemd @%i

2020-05-16 Berichten over hetzelfde onderwerp richard lucassen
On Sat, 16 May 2020 23:37:31 +0200
Koen Wybo  wrote:

> Cron is een systeemdienst die je kan controleren met het commando
> systemctl status cron.service
> 
> Ik vermoed dat het voor systemd een legacy-dienst is.
> 
> Systemd heeft een eigen manier om timers in te stellen:
> https://wiki.archlinux.org/index.php/Systemd/Timers
> https://linuxconfig.org/how-to-schedule-tasks-with-systemd-timers-in-linux

Gevalletje "if it ain't broken don't fix it" dus?

-- 
richard lucassen
https://contact.xaq.nl/



Re: periodiekejob met parameter en systemd @%i

2020-05-16 Berichten over hetzelfde onderwerp Koen Wybo



Cron is een systeemdienst die je kan controleren met het commando
systemctl status cron.service

Ik vermoed dat het voor systemd een legacy-dienst is.

Systemd heeft een eigen manier om timers in te stellen:
https://wiki.archlinux.org/index.php/Systemd/Timers
https://linuxconfig.org/how-to-schedule-tasks-with-systemd-timers-in-linux





Op 16/05/2020 om 22:02 schreef Richard Lucassen:

On Sat, 16 May 2020 19:50:56 +0200
Geert Stappers  wrote:


Met cron zou het iets zijn als

#m h d m day
*  7 * * Mon-Sat  periodiekejob dagelijks
*  5 * * Sun  periodiekejob wekelijks
0  * * * *periodiekejob elkuur

 8< --- 8< --- knipperdeknip  8< --- 8< ---

Draait crond niet meer onder systemd?





Re: periodiekejob met parameter en systemd @%i

2020-05-16 Berichten over hetzelfde onderwerp Richard Lucassen
On Sat, 16 May 2020 19:50:56 +0200
Geert Stappers  wrote:

> > > > Met cron zou het iets zijn als
> > > > 
> > > > #m h d m day
> > > > *  7 * * Mon-Sat  periodiekejob dagelijks
> > > > *  5 * * Sun  periodiekejob wekelijks
> > > > 0  * * * *periodiekejob elkuur

 8< --- 8< --- knipperdeknip  8< --- 8< ---

Draait crond niet meer onder systemd?

-- 
richard lucassen
https://contact.xaq.nl/



Re: periodiekejob met parameter en systemd @%i

2020-05-16 Berichten over hetzelfde onderwerp Geert Stappers
On Sat, May 16, 2020 at 06:51:04PM +0200, Geert Stappers wrote:
> On Sat, May 16, 2020 at 01:41:00PM +0200, Luuk wrote:
> > On 15-5-2020 22:42, Geert Stappers wrote:
> > > 
> > > Wat ik zoek is
> > >   how configure multiple systemd timers to use same systemd service
> > > 
> > > 
> > > Met cron zou het iets zijn als
> > > 
> > > #m h d m day
> > > *  7 * * Mon-Sat  periodiekejob dagelijks
> > > *  5 * * Sun  periodiekejob wekelijks
> > > 0  * * * *periodiekejob elkuur
> > > 
> > > 
> > > Met systemd heb ik dan drie timers  en drie service files nodig.

Het blijkt dat  @%i  doet wat ik zocht.

Wat volgt is een proof of concept  ( staat ook in de tarball )

==> README.md <==

Proof of concept of several systemd timers
starting the same systemd service


sudo make install


journalctl -fu rapporteer@\*
(control-C to exit)


sudo make deinstall


# l l

==> Makefile <==
#
all:
@echo nothing to build ...

install:
cp rapporteer /usr/local/bin/
cp rapporteer@tien.timer /etc/systemd/system/
cp rapporteer@twaalf.timer /etc/systemd/system/
cp rapporteer@minuut.timer /etc/systemd/system/
cp rapporteer@.service /etc/systemd/system/
systemctl daemon-reload
systemctl start rapporteer@tien.timer
systemctl start rapporteer@twaalf.timer
systemctl start rapporteer@minuut.timer

deinstall:
-systemctl stop rapporteer@tien.timer
-systemctl stop rapporteer@twaalf.timer
-systemctl stop rapporteer@minuut.timer
rm -f /usr/local/bin/rapporteer
rm -f /etc/systemd/system/rapporteer@tien.timer
rm -f /etc/systemd/system/rapporteer@twaalf.timer
rm -f /etc/systemd/system/rapporteer@minuut.timer
rm -f /etc/systemd/system/rapporteer@.service
systemctl daemon-reload

tarball:
mkdir rapporteerpoc
-cp * rapporteerpoc/
rm -f rapporteerpoc/*.tgz
tar czf rapporteerpoc.tgz rapporteerpoc/
rm -rf rapporteerpoc

clean:
rm -f rapporteerpoc.tgz

# l l

==> rapporteer <==
#!/usr/bin/python3
'''
 rapporteer
Proof Of Concept for handing over parameter
through environment variables

'''

import os

if os.getenv('RAPPORTEER'):
parameter = os.getenv('RAPPORTEER')
else:
parameter = "not_present"

print("parameter value is {}".format(parameter))

# l l

==> rapporteer@.service <==
[Unit]
Description=rapporteer %i POC, several timers will start us

[Service]
Type=oneshot
Environment=RAPPORTEER=%i
ExecStart=/usr/local/bin/rapporteer

[Install]
WantedBy=multi-user.target

# l l

==> rapporteer@minuut.timer <==
[Unit]
Description=Rapporteer Proof of concept

[Timer]
Unit=rapporteer@%i.service
OnCalendar=*-*-* *:*:00

[Install]
WantedBy=timers.target

# l l

==> rapporteer@tien.timer <==
[Unit]
Description=Rapporteer Proof of concept

[Timer]
Unit=rapporteer@%i.service
OnCalendar=*-*-* *:*:10,30,50

[Install]
WantedBy=timers.target

# l l

==> rapporteer@twaalf.timer <==
[Unit]
Description=Rapporteer Proof of concept

[Timer]
Unit=rapporteer@%i.service
OnCalendar=*-*-* *:*:12,32,52

[Install]
WantedBy=timers.target

# l l



Groeten
Geert Stappers
-- 
Silence is hard to parse


rapporteerpoc.tgz
Description: application/gtar-compressed