<div dir="ltr"><div>Heya!</div><div><br></div><div>Currently systemd doesn't have this kind of distributed scheduler . Though I think it would be very interesting to explore (systemd-distributed seems to be a fun name).</div><div><br></div><div>At some point coreos had a distributed version of systemd that did sort of exactly what you want h<a href="ttps://github.com/coreos/fleet">ttps://github.com/coreos/fleet </a> . However it is now unmaintained as they moved their focus to Kubernetes for orchestrating workloads.</div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Tue, Aug 17, 2021 at 12:39 PM Kaushal Shriyan <<a href="mailto:kaushalshriyan@gmail.com">kaushalshriyan@gmail.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr">Hi,<div><br></div><div>I have created a systemd script along with the timer which runs once every three hours. I have the same settings across node1 and node2 which are hosted behind the load balancer. The reason setting behind LB is to make sure we avoid a single point of failure scenarios. I have a specific issue here both the systemd tasks are doing the same job which will result in <b>duplication</b>. Is there a way to set it in such a way that node1 systemd tasks should run all the time and if node1 goes down in an event of failure then node2 systemd service will trigger the tasks.  Can systemd service on node1 talk to node2 and vice versa? Please suggest.</div><div><br></div><div><b><u>Node1</u></b></div><div>[root@devplace-dev-vm1]#cat /etc/systemd/system/checkeverythreehours.service<br>[Unit]<br>Description=checkeverythreehours<br>[Service]<br>Type=simple<br>User=deployuser<br>ExecStart=/bin/bash /var/www/html/dsc/devplace/externaldrupalcron.sh<br>[root@devplace-dev-vm1]#cat /etc/systemd/system/checkeverythreehours.timer<br>[Unit]<br>Description=A timer that runs once in every three hours<br>Requires=checkeverythreehours.service<br><br>[Timer]<br>Unit=checkeverythreehours.service<br>AccuracySec=1us<br>OnUnitActiveSec=10800<br>Persistent=true<br><br>[Install]<br>WantedBy=timers.target<br>[root@devplace-dev-vm1]#<br></div><div><br></div><div><u><b>Node2</b></u></div><div>[root@devplace-dev-vm2]#cat /etc/systemd/system/checkeverythreehours.service<br></div><div>[Unit]<br>Description=checkeverythreehours<br>[Service]<br>Type=simple<br>User=deployuser<br>ExecStart=/bin/bash /var/www/html/dsc/devplace/externaldrupalcron.sh<br>[root@devplace-dev-vm2]#cat /etc/systemd/system/checkeverythreehours.timer<br>[Unit]<br>Description=A timer that runs once in every three hours<br>Requires=checkeverythreehours.service<br><br>[Timer]<br>Unit=checkeverythreehours.service<br>AccuracySec=1us<br>OnUnitActiveSec=10800<br>Persistent=true<br><br>[Install]<br>WantedBy=timers.target<br>[root@devplace-dev-vm2]#<br></div><div><br></div><div>Thanks in advance.</div><div><br></div><div>Best Regards,</div><div><br></div><div>Kaushal</div><div><br></div><div><br></div></div>
</blockquote></div>