Envoi automatique de mail après le démarrage par systemd
10 réponses
steve
Bonjour,
J'ai un système headless (Rpi) et j'aimerai qu'après chaque démarrage,
un mail soit envoyé avec la sortie de ifconfig afin d'avoir l'ip du
système (qui peut changer de temps en temps Í cause de dhcp). L'idée est
de ne pas avoir Í brancher un écran externe si tout Í coup l'ip Í changé
(je me connecte via vnc au système).
Voici ce que j'ai fait.
1) création du script d'envoi
cat /home/steve/bin/myip.sh
#!/bin/sh
ifconfig | mutt -s "mon ip" moi@example.com
chmod u+x myip.sh
Le script s'exécute correctement (=mail bien envoyé).
2) création du service dans /lib/systemd/system:
cat mon-ip.service
[Unit]
Description=Envoi ip via mail
sudo systemctl daemon-reload
sudo systemctl enable mon-ip.service
Created symlink /etc/systemd/system/multi-user.target.wants/mon-ip.service -> /lib/systemd/system/mon-ip.service.
sudo systemctl start mon-ip.service
sudo systemctl status mon-ip.service
mon-ip.service - Envoi ip via mail
Loaded: loaded (/lib/systemd/system/mon-ip.service; enabled; vendor preset: enabled)
Active: inactive (dead) since Sat 2021-11-13 16:17:47 CET; 27s ago
Process: 1678 ExecStart=/home/stellarmate/bin/myip.sh (code=exited, status=0/SUCCESS)
Main PID: 1678 (code=exited, status=0/SUCCESS)
nov 13 16:17:47 box systemd[1]: Starting Envoi ip via mail...
nov 13 16:17:47 box systemd[1]: mon-ip.service: Succeeded.
nov 13 16:17:47 box systemd[1]: Started Envoi ip via mail.
3) redémarrage du système
Résultat, pas de mail d'envoyé.
Cela fait un bon moment que je suis dessus, mais lÍ je sèche.
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
NoSpam
Bonjour utiliser @reboot dans cron et executer le script Solution personnelle utilisée pour ce type de service: autossh Daniel Le 13/11/2021 Í 16:21, steve a écrit :
Bonjour, J'ai un système headless (Rpi) et j'aimerai qu'après chaque démarrage, un mail soit envoyé avec la sortie de ifconfig afin d'avoir l'ip du système (qui peut changer de temps en temps Í cause de dhcp). L'idée est de ne pas avoir Í brancher un écran externe si tout Í coup l'ip Í changé (je me connecte via vnc au système). Voici ce que j'ai fait. 1) création du script d'envoi cat /home/steve/bin/myip.sh #!/bin/sh ifconfig | mutt -s "mon ip" chmod u+x myip.sh Le script s'exécute correctement (=mail bien envoyé). 2) création du service dans /lib/systemd/system: cat mon-ip.service [Unit] Description=Envoi ip via mail [Service] Type=oneshot ExecStart=/home/steve/bin/myip.sh [Install] WantedBy=multi-user.target sudo systemctl daemon-reload sudo systemctl enable mon-ip.service Created symlink /etc/systemd/system/multi-user.target.wants/mon-ip.service -> /lib/systemd/system/mon-ip.service. sudo systemctl start mon-ip.service sudo systemctl status mon-ip.service mon-ip.service - Envoi ip via mail   Loaded: loaded (/lib/systemd/system/mon-ip.service; enabled; vendor preset: enabled)   Active: inactive (dead) since Sat 2021-11-13 16:17:47 CET; 27s ago  Process: 1678 ExecStart=/home/stellarmate/bin/myip.sh (code=exited, status=0/SUCCESS)  Main PID: 1678 (code=exited, status=0/SUCCESS) nov 13 16:17:47 box systemd[1]: Starting Envoi ip via mail... nov 13 16:17:47 box systemd[1]: mon-ip.service: Succeeded. nov 13 16:17:47 box systemd[1]: Started Envoi ip via mail. 3) redémarrage du système Résultat, pas de mail d'envoyé. Cela fait un bon moment que je suis dessus, mais lÍ je sèche. Qu'y a-t-il de faux ? Merci pour toute aide. S
Bonjour
utiliser @reboot dans cron et executer le script
Solution personnelle utilisée pour ce type de service: autossh
Daniel
Le 13/11/2021 Í 16:21, steve a écrit :
Bonjour,
J'ai un système headless (Rpi) et j'aimerai qu'après chaque démarrage,
un mail soit envoyé avec la sortie de ifconfig afin d'avoir l'ip du
système (qui peut changer de temps en temps Í cause de dhcp). L'idée est
de ne pas avoir Í brancher un écran externe si tout Í coup l'ip Í changé
(je me connecte via vnc au système).
Voici ce que j'ai fait.
1) création du script d'envoi
cat /home/steve/bin/myip.sh
#!/bin/sh
ifconfig | mutt -s "mon ip" moi@example.com
chmod u+x myip.sh
Le script s'exécute correctement (=mail bien envoyé).
2) création du service dans /lib/systemd/system:
cat mon-ip.service
[Unit]
Description=Envoi ip via mail
sudo systemctl daemon-reload
sudo systemctl enable mon-ip.service
Created symlink
/etc/systemd/system/multi-user.target.wants/mon-ip.service ->
/lib/systemd/system/mon-ip.service.
sudo systemctl start mon-ip.service
sudo systemctl status mon-ip.service
mon-ip.service - Envoi ip via mail
  Loaded: loaded (/lib/systemd/system/mon-ip.service; enabled; vendor
preset: enabled)
  Active: inactive (dead) since Sat 2021-11-13 16:17:47 CET; 27s ago
 Process: 1678 ExecStart=/home/stellarmate/bin/myip.sh (code=exited,
status=0/SUCCESS)
 Main PID: 1678 (code=exited, status=0/SUCCESS)
nov 13 16:17:47 box systemd[1]: Starting Envoi ip via mail...
nov 13 16:17:47 box systemd[1]: mon-ip.service: Succeeded.
nov 13 16:17:47 box systemd[1]: Started Envoi ip via mail.
3) redémarrage du système
Résultat, pas de mail d'envoyé.
Cela fait un bon moment que je suis dessus, mais lÍ je sèche.
Bonjour utiliser @reboot dans cron et executer le script Solution personnelle utilisée pour ce type de service: autossh Daniel Le 13/11/2021 Í 16:21, steve a écrit :
Bonjour, J'ai un système headless (Rpi) et j'aimerai qu'après chaque démarrage, un mail soit envoyé avec la sortie de ifconfig afin d'avoir l'ip du système (qui peut changer de temps en temps Í cause de dhcp). L'idée est de ne pas avoir Í brancher un écran externe si tout Í coup l'ip Í changé (je me connecte via vnc au système). Voici ce que j'ai fait. 1) création du script d'envoi cat /home/steve/bin/myip.sh #!/bin/sh ifconfig | mutt -s "mon ip" chmod u+x myip.sh Le script s'exécute correctement (=mail bien envoyé). 2) création du service dans /lib/systemd/system: cat mon-ip.service [Unit] Description=Envoi ip via mail [Service] Type=oneshot ExecStart=/home/steve/bin/myip.sh [Install] WantedBy=multi-user.target sudo systemctl daemon-reload sudo systemctl enable mon-ip.service Created symlink /etc/systemd/system/multi-user.target.wants/mon-ip.service -> /lib/systemd/system/mon-ip.service. sudo systemctl start mon-ip.service sudo systemctl status mon-ip.service mon-ip.service - Envoi ip via mail   Loaded: loaded (/lib/systemd/system/mon-ip.service; enabled; vendor preset: enabled)   Active: inactive (dead) since Sat 2021-11-13 16:17:47 CET; 27s ago  Process: 1678 ExecStart=/home/stellarmate/bin/myip.sh (code=exited, status=0/SUCCESS)  Main PID: 1678 (code=exited, status=0/SUCCESS) nov 13 16:17:47 box systemd[1]: Starting Envoi ip via mail... nov 13 16:17:47 box systemd[1]: mon-ip.service: Succeeded. nov 13 16:17:47 box systemd[1]: Started Envoi ip via mail. 3) redémarrage du système Résultat, pas de mail d'envoyé. Cela fait un bon moment que je suis dessus, mais lÍ je sèche. Qu'y a-t-il de faux ? Merci pour toute aide. S
sudo systemctl daemon-reload
sudo systemctl enable mon-ip.service
Created symlink /etc/systemd/system/multi-user.target.wants/mon-ip.service
-> /lib/systemd/system/mon-ip.service.
sudo systemctl start mon-ip.service
sudo systemctl status mon-ip.service
mon-ip.service - Envoi ip via mail
Loaded: loaded (/lib/systemd/system/mon-ip.service; enabled; vendor
preset: enabled)
Active: inactive (dead) since Sat 2021-11-13 16:17:47 CET; 27s ago
Process: 1678 ExecStart=/home/stellarmate/bin/myip.sh (code=exited,
status=0/SUCCESS)
Main PID: 1678 (code=exited, status=0/SUCCESS)
nov 13 16:17:47 box systemd[1]: Starting Envoi ip via mail...
nov 13 16:17:47 box systemd[1]: mon-ip.service: Succeeded.
nov 13 16:17:47 box systemd[1]: Started Envoi ip via mail.
Salut, Le 13-11-2021, Í 16:42:49 +0100, NoSpam a écrit :
Bonjour utiliser @reboot dans cron et executer le script
Merci, je n'avais pas pensé Í cette solution simple (qui marche, je viens de tester). Mais ça ne répond pas Í mon problème initial :) @plus S
steve
Le 13-11-2021, Í 17:00:28 +0100, Sabri KHEMISSA a écrit :
Bonjour, Je pense que tu n'es pas maÍ®tre du serveur DHCP. Le cas échéant, tu peux forcer l'attribution d'un IP sur la base d'une adresse MAC. [1]https://www.itsfullofstars.de/2019/02/assign-a-static-ip-to-dhcp-cli
Oui je sais comment attribuer une IP fixe, mais ça ne marche que dans un environnement précis.
ent/ Pour répondre Í ta question, tu peux utiliser crontab [2]https://phoenixnap.com/kb/crontab-reboot
Oui, ça marche en effet. Merci @plus S
Le 13-11-2021, Í 17:00:28 +0100, Sabri KHEMISSA a écrit :
Bonjour,
Je pense que tu n'es pas maÍ®tre du serveur DHCP. Le cas échéant, tu
peux forcer l'attribution d'un IP sur la base d'une adresse MAC.
[1]https://www.itsfullofstars.de/2019/02/assign-a-static-ip-to-dhcp-cli
Oui je sais comment attribuer une IP fixe, mais ça ne marche que dans un
environnement précis.
ent/
Pour répondre Í ta question, tu peux utiliser crontab
[2]https://phoenixnap.com/kb/crontab-reboot
Le 13-11-2021, Í 17:00:28 +0100, Sabri KHEMISSA a écrit :
Bonjour, Je pense que tu n'es pas maÍ®tre du serveur DHCP. Le cas échéant, tu peux forcer l'attribution d'un IP sur la base d'une adresse MAC. [1]https://www.itsfullofstars.de/2019/02/assign-a-static-ip-to-dhcp-cli
Oui je sais comment attribuer une IP fixe, mais ça ne marche que dans un environnement précis.
ent/ Pour répondre Í ta question, tu peux utiliser crontab [2]https://phoenixnap.com/kb/crontab-reboot
Le samedi 13 novembre 2021 Í 16:21 +0100, steve a écrit :
Bonjour,
Bonjour, Je ne suis pas très au point Í propos de systemd, mais j'ajouterais
2) création du service dans /lib/systemd/system: cat mon-ip.service [Unit] Description=Envoi ip via mail
After=network.target
[Service] Type=oneshot ExecStart=/home/steve/bin/myip.sh [Install] WantedBy=multi-user.target Merci pour toute aide.
De rien et peut-être inutile.
S
Christophe
steve
Le 14-11-2021, Í 12:15:38 +0100, Christophe Maquaire a écrit :
Le samedi 13 novembre 2021 Í 16:21 +0100, steve a écrit :
Bonjour, J'ai un système headless (Rpi) et j'aimerai qu'après chaque démarrage, un mail soit envoyé avec la sortie de ifconfig afin d'avoir l'ip du système (qui peut changer de temps en temps Í cause de dhcp). L'idée est
Sinon tu peux laisser dhcpd ou dhclient faire le boulot via les hooks
Merci, je ne connaissais pas.
Le 14-11-2021, Í 12:15:38 +0100, Christophe Maquaire a écrit :
Le samedi 13 novembre 2021 Í 16:21 +0100, steve a écrit :
Bonjour,
J'ai un système headless (Rpi) et j'aimerai qu'après chaque démarrage,
un mail soit envoyé avec la sortie de ifconfig afin d'avoir l'ip du
système (qui peut changer de temps en temps Í cause de dhcp). L'idée
est
Sinon tu peux laisser dhcpd ou dhclient faire le boulot via les hooks
Le 14-11-2021, Í 12:15:38 +0100, Christophe Maquaire a écrit :
Le samedi 13 novembre 2021 Í 16:21 +0100, steve a écrit :
Bonjour, J'ai un système headless (Rpi) et j'aimerai qu'après chaque démarrage, un mail soit envoyé avec la sortie de ifconfig afin d'avoir l'ip du système (qui peut changer de temps en temps Í cause de dhcp). L'idée est
Sinon tu peux laisser dhcpd ou dhclient faire le boulot via les hooks
Merci, je ne connaissais pas.
Roberto C. Sánchez
On Sat, Nov 13, 2021 at 05:34:01PM +0100, steve wrote:
Salut, Le 13-11-2021, Í 16:42:49 +0100, NoSpam a écrit :
Bonjour utiliser @reboot dans cron et executer le script
Merci, je n'avais pas pensé Í cette solution simple (qui marche, je viens de tester). Mais ça ne répond pas Í mon problème initial :)
Désolé de répondre Í un très vieux fil. D'une autre manière, tu peux utiliser /etc/rc.local qui est exécuté Í la fin de chaque démarrage. Par exemple: /usr/local/bin/myip.sh || exit 0 Salut, -Roberto -- Roberto C. Sánchez
On Sat, Nov 13, 2021 at 05:34:01PM +0100, steve wrote:
Salut,
Le 13-11-2021, Í 16:42:49 +0100, NoSpam a écrit :
> Bonjour
>
> utiliser @reboot dans cron et executer le script
Merci, je n'avais pas pensé Í cette solution simple (qui marche, je
viens de tester). Mais ça ne répond pas Í mon problème initial :)
Désolé de répondre Í un très vieux fil.
D'une autre manière, tu peux utiliser /etc/rc.local qui est exécuté Í
la fin de chaque démarrage. Par exemple:
On Sat, Nov 13, 2021 at 05:34:01PM +0100, steve wrote:
Salut, Le 13-11-2021, Í 16:42:49 +0100, NoSpam a écrit :
Bonjour utiliser @reboot dans cron et executer le script
Merci, je n'avais pas pensé Í cette solution simple (qui marche, je viens de tester). Mais ça ne répond pas Í mon problème initial :)
Désolé de répondre Í un très vieux fil. D'une autre manière, tu peux utiliser /etc/rc.local qui est exécuté Í la fin de chaque démarrage. Par exemple: /usr/local/bin/myip.sh || exit 0 Salut, -Roberto -- Roberto C. Sánchez
NoSpam
Bonjour Le 09/04/2022 Í 14:29, Roberto C. Sánchez a écrit :
On Sat, Nov 13, 2021 at 05:34:01PM +0100, steve wrote:
Salut, Le 13-11-2021, Í 16:42:49 +0100, NoSpam a écrit :
Bonjour utiliser @reboot dans cron et executer le script
Merci, je n'avais pas pensé Í cette solution simple (qui marche, je viens de tester). Mais ça ne répond pas Í mon problème initial :)
Désolé de répondre Í un très vieux fil. D'une autre manière, tu peux utiliser /etc/rc.local qui est exécuté Í la fin de chaque démarrage. Par exemple: /usr/local/bin/myip.sh || exit 0
ce fichier n'est plus exécuté avec systemd sauf a créer un service qui imiterait -- Daniel
Bonjour
Le 09/04/2022 Í 14:29, Roberto C. Sánchez a écrit :
On Sat, Nov 13, 2021 at 05:34:01PM +0100, steve wrote:
Salut,
Le 13-11-2021, Í 16:42:49 +0100, NoSpam a écrit :
Bonjour
utiliser @reboot dans cron et executer le script
Merci, je n'avais pas pensé Í cette solution simple (qui marche, je
viens de tester). Mais ça ne répond pas Í mon problème initial :)
Désolé de répondre Í un très vieux fil.
D'une autre manière, tu peux utiliser /etc/rc.local qui est exécuté Í
la fin de chaque démarrage. Par exemple:
/usr/local/bin/myip.sh || exit 0
ce fichier n'est plus exécuté avec systemd sauf a créer un service qui
imiterait
Bonjour Le 09/04/2022 Í 14:29, Roberto C. Sánchez a écrit :
On Sat, Nov 13, 2021 at 05:34:01PM +0100, steve wrote:
Salut, Le 13-11-2021, Í 16:42:49 +0100, NoSpam a écrit :
Bonjour utiliser @reboot dans cron et executer le script
Merci, je n'avais pas pensé Í cette solution simple (qui marche, je viens de tester). Mais ça ne répond pas Í mon problème initial :)
Désolé de répondre Í un très vieux fil. D'une autre manière, tu peux utiliser /etc/rc.local qui est exécuté Í la fin de chaque démarrage. Par exemple: /usr/local/bin/myip.sh || exit 0
ce fichier n'est plus exécuté avec systemd sauf a créer un service qui imiterait -- Daniel
Roberto C. Sánchez
On Sat, Apr 09, 2022 at 03:35:12PM +0200, NoSpam wrote:
Bonjour Le 09/04/2022 Í 14:29, Roberto C. Sánchez a écrit :
On Sat, Nov 13, 2021 at 05:34:01PM +0100, steve wrote: > Salut, > > Le 13-11-2021, Í 16:42:49 +0100, NoSpam a écrit : > > > Bonjour > > > > utiliser @reboot dans cron et executer le script > Merci, je n'avais pas pensé Í cette solution simple (qui marche, je > viens de tester). Mais ça ne répond pas Í mon problème initial :) > > Désolé de répondre Í un très vieux fil. D'une autre manière, tu peux utiliser /etc/rc.local qui est exécuté Í la fin de chaque démarrage. Par exemple: /usr/local/bin/myip.sh || exit 0
ce fichier n'est plus exécuté avec systemd sauf a créer un service qui imiterait
Je ne le savais pas. Sur mon PC (de l'année 2016 et qui a commencé avec Jessie et qui puis a eu des mises Í jours vers stretch et buster), il y a le fichier /etc/rc.local. Je pensais que ce fichier était toujours installé sur les nouvelles installations. Je viens d'installer un chroot avec buster et un autre chroot avec bullseye. Pas de fichier /etc/rc.local. J'ai aussi installé une machine virtuelle avec bullseye sous qemu. Pas de fichier /etc/rc.local. Je pense que tu as raison. Le fichier /etc/rc.local n'est plus inclu quand on fait une nouvelle installation. Désolé pour la confusion. Salut, -Roberto -- Roberto C. Sánchez
On Sat, Apr 09, 2022 at 03:35:12PM +0200, NoSpam wrote:
Bonjour
Le 09/04/2022 Í 14:29, Roberto C. Sánchez a écrit :
> On Sat, Nov 13, 2021 at 05:34:01PM +0100, steve wrote:
> > Salut,
> >
> > Le 13-11-2021, Í 16:42:49 +0100, NoSpam a écrit :
> >
> > > Bonjour
> > >
> > > utiliser @reboot dans cron et executer le script
> > Merci, je n'avais pas pensé Í cette solution simple (qui marche, je
> > viens de tester). Mais ça ne répond pas Í mon problème initial :)
> >
> >
> Désolé de répondre Í un très vieux fil.
>
> D'une autre manière, tu peux utiliser /etc/rc.local qui est exécuté Í
> la fin de chaque démarrage. Par exemple:
>
> /usr/local/bin/myip.sh || exit 0
ce fichier n'est plus exécuté avec systemd sauf a créer un service qui
imiterait
Je ne le savais pas.
Sur mon PC (de l'année 2016 et qui a commencé avec Jessie et qui puis a
eu des mises Í jours vers stretch et buster), il y a le fichier
/etc/rc.local. Je pensais que ce fichier était toujours installé sur les
nouvelles installations.
Je viens d'installer un chroot avec buster et un autre chroot avec
bullseye. Pas de fichier /etc/rc.local. J'ai aussi installé une machine
virtuelle avec bullseye sous qemu. Pas de fichier /etc/rc.local. Je
pense que tu as raison. Le fichier /etc/rc.local n'est plus inclu quand
on fait une nouvelle installation.
On Sat, Apr 09, 2022 at 03:35:12PM +0200, NoSpam wrote:
Bonjour Le 09/04/2022 Í 14:29, Roberto C. Sánchez a écrit :
On Sat, Nov 13, 2021 at 05:34:01PM +0100, steve wrote: > Salut, > > Le 13-11-2021, Í 16:42:49 +0100, NoSpam a écrit : > > > Bonjour > > > > utiliser @reboot dans cron et executer le script > Merci, je n'avais pas pensé Í cette solution simple (qui marche, je > viens de tester). Mais ça ne répond pas Í mon problème initial :) > > Désolé de répondre Í un très vieux fil. D'une autre manière, tu peux utiliser /etc/rc.local qui est exécuté Í la fin de chaque démarrage. Par exemple: /usr/local/bin/myip.sh || exit 0
ce fichier n'est plus exécuté avec systemd sauf a créer un service qui imiterait
Je ne le savais pas. Sur mon PC (de l'année 2016 et qui a commencé avec Jessie et qui puis a eu des mises Í jours vers stretch et buster), il y a le fichier /etc/rc.local. Je pensais que ce fichier était toujours installé sur les nouvelles installations. Je viens d'installer un chroot avec buster et un autre chroot avec bullseye. Pas de fichier /etc/rc.local. J'ai aussi installé une machine virtuelle avec bullseye sous qemu. Pas de fichier /etc/rc.local. Je pense que tu as raison. Le fichier /etc/rc.local n'est plus inclu quand on fait une nouvelle installation. Désolé pour la confusion. Salut, -Roberto -- Roberto C. Sánchez