Contenu | Rechercher | Menus

Annonce

L'équipe des administrateurs et modérateurs du forum vous invite à prendre connaissance des nouvelles règles.
En cas de besoin, vous pouvez intervenir dans cette discussion.

Ubuntu 18.04 LTS
Ubuntu-fr propose des clés USB de Ubuntu et toutes ses « saveurs » ainsi qu'un magnifique t-shirt pour cette toute nouvelle version d'Ubuntu !

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 26/05/2018, à 09:17

pseudofab

[Résolu]Planifier l'exécution d'1 Cmd un jour J à l'allumage de l'ordi

Bonjour,
Est il possible de planifier l'exécution d'une commande , un jour j à l'allumage de l'ordinateur?
Réponse :
a) Oui mais non laisse tomber , c'est trop compliquer pour toi .
b) Non, mais merci d'avoir posé la question
c) Oui facile , il existe une commande pour cela
d) Je connais un script qui gère cela .

Dernière modification par pseudofab (Le 26/05/2018, à 14:42)


# Là pour le plaisir de découvrir . En souvenir de l'ado dont les yeux brillait devant l'écran d'un Amstrad 6128 ...

Hors ligne

#2 Le 26/05/2018, à 10:05

grandtoubab

Re : [Résolu]Planifier l'exécution d'1 Cmd un jour J à l'allumage de l'ordi

salut
il faut utiliser le calendrier, anacron de préférences

sudo apt-get install anacron

et mettre un script dans /etc/cron.daily/

Exemple:

root@debian:/etc/cron.daily# cat test-kernel
#!/bin/sh
# pour tracer demasquer set -x
#set -x
#
echo "*********************************************************************************************"
apt list linux-image*amd64
echo "*********************************************************************************************"
apt list linux-headers*amd64
echo "*********************************************************************************************"
apt list linux-headers*common*
echo "*********************************************************************************************"
date
root@debian:/etc/cron.daily# 

Pour info, le calendrier envoie un mail de résultat des commandes au compte root
je les lis dans Thunderbird

/etc/cron.daily/test-kernel:
*********************************************************************************************

WARNING: apt does not have a stable CLI interface. Use with caution in scripts.

En train de lister…
linux-image-3.16.0-4-amd64/oldstable 3.16.43-2+deb8u5 amd64
linux-image-3.16.0-5-amd64/oldstable 3.16.51-3+deb8u1 amd64
linux-image-3.16.0-6-amd64/oldstable 3.16.56-1+deb8u1 amd64
linux-image-4.16.0-1-amd64/testing,now 4.16.5-1 amd64  [installé]
linux-image-4.16.0-1-cloud-amd64/testing 4.16.5-1 amd64
linux-image-4.9.0-3-amd64/stable 4.9.30-2+deb9u5 amd64
linux-image-4.9.0-3-rt-amd64/stable 4.9.30-2+deb9u5 amd64
linux-image-4.9.0-4-amd64/stable 4.9.65-3+deb9u1 amd64
linux-image-4.9.0-4-rt-amd64/stable 4.9.65-3+deb9u1 amd64
linux-image-4.9.0-5-amd64/stable 4.9.65-3+deb9u2 amd64
linux-image-4.9.0-5-rt-amd64/stable 4.9.65-3+deb9u2 amd64
linux-image-4.9.0-6-amd64/stable,now 4.9.88-1+deb9u1 amd64  [installé]
linux-image-4.9.0-6-rt-amd64/stable 4.9.88-1+deb9u1 amd64
linux-image-amd64/testing,now 4.16+93 amd64  [installé]
linux-image-cloud-amd64/testing 4.16+93 amd64
linux-image-rt-amd64/stable,stable 4.9+80+deb9u4 amd64
*********************************************************************************************

WARNING: apt does not have a stable CLI interface. Use with caution in scripts.

En train de lister…
linux-headers-3.16.0-4-all-amd64/oldstable 3.16.43-2+deb8u5 amd64
linux-headers-3.16.0-4-amd64/oldstable 3.16.43-2+deb8u5 amd64
linux-headers-3.16.0-5-all-amd64/oldstable 3.16.51-3+deb8u1 amd64
linux-headers-3.16.0-5-amd64/oldstable 3.16.51-3+deb8u1 amd64
linux-headers-3.16.0-6-all-amd64/oldstable 3.16.56-1+deb8u1 amd64
linux-headers-3.16.0-6-amd64/oldstable 3.16.56-1+deb8u1 amd64
linux-headers-4.16.0-1-all-amd64/testing 4.16.5-1 amd64
linux-headers-4.16.0-1-amd64/testing,now 4.16.5-1 amd64  [installé]
linux-headers-4.16.0-1-cloud-amd64/testing 4.16.5-1 amd64
linux-headers-4.9.0-3-all-amd64/stable 4.9.30-2+deb9u5 amd64
linux-headers-4.9.0-3-amd64/stable 4.9.30-2+deb9u5 amd64
linux-headers-4.9.0-3-rt-amd64/stable 4.9.30-2+deb9u5 amd64
linux-headers-4.9.0-4-all-amd64/stable 4.9.65-3+deb9u1 amd64
linux-headers-4.9.0-4-amd64/stable 4.9.65-3+deb9u1 amd64
linux-headers-4.9.0-4-rt-amd64/stable 4.9.65-3+deb9u1 amd64
linux-headers-4.9.0-5-all-amd64/stable 4.9.65-3+deb9u2 amd64
linux-headers-4.9.0-5-amd64/stable 4.9.65-3+deb9u2 amd64
linux-headers-4.9.0-5-rt-amd64/stable 4.9.65-3+deb9u2 amd64
linux-headers-4.9.0-6-all-amd64/stable 4.9.88-1+deb9u1 amd64
linux-headers-4.9.0-6-amd64/stable,now 4.9.88-1+deb9u1 amd64  [installé]
linux-headers-4.9.0-6-rt-amd64/stable 4.9.88-1+deb9u1 amd64
linux-headers-amd64/testing,now 4.16+93 amd64  [installé]
linux-headers-cloud-amd64/testing 4.16+93 amd64
linux-headers-rt-amd64/stable,stable 4.9+80+deb9u4 amd64
*********************************************************************************************

WARNING: apt does not have a stable CLI interface. Use with caution in scripts.

En train de lister…
linux-headers-3.16.0-4-common/oldstable 3.16.43-2+deb8u5 amd64
linux-headers-3.16.0-5-common/oldstable 3.16.51-3+deb8u1 amd64
linux-headers-3.16.0-6-common/oldstable 3.16.56-1+deb8u1 amd64
linux-headers-4.16.0-1-common/testing,testing,now 4.16.5-1 all  [installé, automatique]
linux-headers-4.9.0-3-common/stable,stable 4.9.30-2+deb9u5 all
linux-headers-4.9.0-3-common-rt/stable,stable 4.9.30-2+deb9u5 all
linux-headers-4.9.0-4-common/stable,stable 4.9.65-3+deb9u1 all
linux-headers-4.9.0-4-common-rt/stable,stable 4.9.65-3+deb9u1 all
linux-headers-4.9.0-5-common/stable,stable 4.9.65-3+deb9u2 all
linux-headers-4.9.0-5-common-rt/stable,stable 4.9.65-3+deb9u2 all
linux-headers-4.9.0-6-common/stable,stable,now 4.9.88-1+deb9u1 all  [installé, automatique]
linux-headers-4.9.0-6-common-rt/stable,stable 4.9.88-1+deb9u1 all
*********************************************************************************************
samedi 26 mai 2018, 08:00:29 (UTC+0200)

Dernière modification par grandtoubab (Le 26/05/2018, à 10:11)


Linux tout seul sur HP Pavilion DV7 et Acer Aspire T650
Debian 10 Buster Gnome/Xorg, Gnome/Wayland, Weston/Wayland
Canon MG3650 en wifi
https://bidouilledebian.wordpress.com/

Hors ligne

#3 Le 26/05/2018, à 10:43

pseudofab

Re : [Résolu]Planifier l'exécution d'1 Cmd un jour J à l'allumage de l'ordi

Merci de ta réponse ...
Anacron ne planifie t'il pas que des taches régulières ?
Voici un exemple pour illustrer ce que je souhaite:
Le 10 10 2018 , c'est l'anniversaire de ma chérie. Cependant n'ayant une bonne mémoire , je souhaite que mon ordinateur me le rappelle ce jour là que c'est son anniversaire à l'allumage de mon ordinateur....


# Là pour le plaisir de découvrir . En souvenir de l'ado dont les yeux brillait devant l'écran d'un Amstrad 6128 ...

Hors ligne

#4 Le 26/05/2018, à 11:43

golgoth63

Re : [Résolu]Planifier l'exécution d'1 Cmd un jour J à l'allumage de l'ordi

Si tu as wine, atnotes.exe répond à tes besoins.

Sinon en linux globonote mais j'aime moins

Dernière modification par golgoth63 (Le 26/05/2018, à 11:44)


Kubuntu 18.04 LTS / KDE neon 5.12 LTS
Un livre de Frédéric Dard à lire : les trolls ! Comme à la maternelle, c'est celui qui dit qui est !
Avis d'un troll : Linux, c'est simple ! A moins de faire le nécessaire pour tout compliquer !

Hors ligne

#5 Le 26/05/2018, à 11:43

grandtoubab

Re : [Résolu]Planifier l'exécution d'1 Cmd un jour J à l'allumage de l'ordi

pseudofab a écrit :

Merci de ta réponse ...
Anacron ne planifie t'il pas que des taches régulières ?
Voici un exemple pour illustrer ce que je souhaite:
Le 10 10 2018 , c'est l'anniversaire de ma chérie. Cependant n'ayant une bonne mémoire , je souhaite que mon ordinateur me le rappelle ce jour là que c'est son anniversaire à l'allumage de mon ordinateur....

cron.daily c'est les taches quotidiennes
crontab lance les taches

cat /etc/crontab
# /etc/crontab: system-wide crontab
# Unlike any other crontab you don't have to run the `crontab'
# command to install the new version when you edit this file
# and files in /etc/cron.d. These files also have username fields,
# that none of the other crontabs do.

SHELL=/bin/sh
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin

# m h dom mon dow user	command
# 17 *	* * *	root    test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.hourly )
# 25 6	* * *	root	test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.daily )
# 47 6	* * 7	root	test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.weekly )
# 52 6	1 * *	root	test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.monthly )
#

pour une tache unique tu ajoute une tache dns la crontab en parametrant la date exacte

http://www.linux-france.org/article/man … tab-5.html

Dernière modification par grandtoubab (Le 26/05/2018, à 11:44)


Linux tout seul sur HP Pavilion DV7 et Acer Aspire T650
Debian 10 Buster Gnome/Xorg, Gnome/Wayland, Weston/Wayland
Canon MG3650 en wifi
https://bidouilledebian.wordpress.com/

Hors ligne

#6 Le 26/05/2018, à 11:46

grandtoubab

Re : [Résolu]Planifier l'exécution d'1 Cmd un jour J à l'allumage de l'ordi

grandtoubab a écrit :
pseudofab a écrit :

Merci de ta réponse ...
Anacron ne planifie t'il pas que des taches régulières ?
Voici un exemple pour illustrer ce que je souhaite:
Le 10 10 2018 , c'est l'anniversaire de ma chérie. Cependant n'ayant une bonne mémoire , je souhaite que mon ordinateur me le rappelle ce jour là que c'est son anniversaire à l'allumage de mon ordinateur....

cron.daily c'est les taches quotidiennes
crontab lance les taches

cat /etc/crontab
# /etc/crontab: system-wide crontab
# Unlike any other crontab you don't have to run the `crontab'
# command to install the new version when you edit this file
# and files in /etc/cron.d. These files also have username fields,
# that none of the other crontabs do.

SHELL=/bin/sh
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin

# m h dom mon dow user	command
# 17 *	* * *	root    test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.hourly )
# 25 6	* * *	root	test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.daily )
# 47 6	* * 7	root	test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.weekly )
# 52 6	1 * *	root	test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.monthly )
#

pour une tache unique tu ajoute une tache dns la crontab en parametrant la date exacte,
http://www.linux-france.org/article/man … tab-5.html


l'interet d'anacron c'est qu'il ne se préoccupe pas de l'heure exacte, il "rattrape' le lancement des taches au démarrage, car sinon il faudrait , dams mon cas démarrer l'ordi avant 6h25 du matin pour que les taches daily soient lancées

 cat /etc/anacrontab
# /etc/anacrontab: configuration file for anacron

# See anacron(8) and anacrontab(5) for details.

SHELL=/bin/sh
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
HOME=/root
LOGNAME=root

# These replace cron's entries
0 50	cron.hourly 	run-parts --report /etc/cron.hourly
1	5	cron.daily	run-parts --report /etc/cron.daily
7	20	cron.weekly	run-parts --report /etc/cron.weekly
@monthly 35	cron.monthly	run-parts --report /etc/cron.monthly

https://doc.ubuntu-fr.org/anacron

Donc anacron est mieux pour les tâches répétitives, dans ton cas de tache unique mets la dans /etc/crontab

Dernière modification par grandtoubab (Le 26/05/2018, à 11:58)


Linux tout seul sur HP Pavilion DV7 et Acer Aspire T650
Debian 10 Buster Gnome/Xorg, Gnome/Wayland, Weston/Wayland
Canon MG3650 en wifi
https://bidouilledebian.wordpress.com/

Hors ligne

#7 Le 26/05/2018, à 13:13

pseudofab

Re : [Résolu]Planifier l'exécution d'1 Cmd un jour J à l'allumage de l'ordi

golgoth63 a écrit :

Si tu as wine, atnotes.exe répond à tes besoins.

Sinon en linux globonote mais j'aime moins

Non pas de Windows...
Pour globonote , je vais regarder ça merci.
édit : non globonote est un gestionnaire de note . Moi je veux exécuter un script . L'exemple que j'ai cité était bidon . C'est juste une illustration

@grandtoubab :
Ce que tu me proposes , c'est équivalent à crontab -e ?
Ou bien le fait de placer (pour reprendre mon exemple) dans /etc/crontab

* * 10 10 * DISPLAY:=0 /home/fabien/message_info_crontab

va m'exécuter, une seule fois le 10 10 2018 et à l'heure à laquelle j'allumerai mon ordinateur, mon script ?

Dernière modification par pseudofab (Le 26/05/2018, à 13:25)


# Là pour le plaisir de découvrir . En souvenir de l'ado dont les yeux brillait devant l'écran d'un Amstrad 6128 ...

Hors ligne

#8 Le 26/05/2018, à 13:31

grandtoubab

Re : [Résolu]Planifier l'exécution d'1 Cmd un jour J à l'allumage de l'ordi

pseudofab a écrit :

@grandtoubab :
Ce que tu me proposes , c'est équivalent à crontab -e ?
Ou bien le fait de placer (pour reprendre mon exemple) dans /etc/crontab

* * 10 10 * DISPLAY:=0 /home/fabien/message_info_crontab

va m'exécuter, une seule fois le 10 10 2018 et à l'heure à laquelle j'allumerai mon ordinateur, mon script ?

crontab -e c'est la crontab de ton utilisateur, /etc/crontab c'est la crontab système tout dépends des droits nécessaires à l'exécution de ton script
*  *  ça veut plutôt dire toutes les heures toutes les minutes, ça risque d'etre assez marrant comme fonctionnement

si tu veux t'affranchir de l'heure, alors c'est anacrontab, lis les liens
, tu devrais comprendre la différence entre les 2

Dernière modification par grandtoubab (Le 26/05/2018, à 13:34)


Linux tout seul sur HP Pavilion DV7 et Acer Aspire T650
Debian 10 Buster Gnome/Xorg, Gnome/Wayland, Weston/Wayland
Canon MG3650 en wifi
https://bidouilledebian.wordpress.com/

Hors ligne

#9 Le 26/05/2018, à 13:47

pseudofab

Re : [Résolu]Planifier l'exécution d'1 Cmd un jour J à l'allumage de l'ordi

Donc cela se comporte comme crontab -e dont j'ai déjà connaissance pour l'avoir utilisé .
Et puisque  anacron gère des taches à intervalle régulier et que moi je veux une exécution de mon script à une date précise mais à partir du moment que j'allume l'ordinateur , nous sommes devant une impasse me semble t'il hmm

note : j'ai passé quelques heures de recherche avant de poster ma demande ici ... je me suis cependant limité à des recherches sur des sites francophones

Dernière modification par pseudofab (Le 26/05/2018, à 13:52)


# Là pour le plaisir de découvrir . En souvenir de l'ado dont les yeux brillait devant l'écran d'un Amstrad 6128 ...

Hors ligne

#10 Le 26/05/2018, à 14:15

pseudofab

Re : [Résolu]Planifier l'exécution d'1 Cmd un jour J à l'allumage de l'ordi

à défaut d'autre solution , je pense contourner le problème avec mon script qui serait exécuté par anacrontab tous les jours à l'allumage , lequel prendrait en charge un test permettant de savoir si on est bien le 10 10 .

Il y a un truc , qui m'interpelle dans la doc d'anacron : Je lis :

anacron n'est pas lancé si l'ordinateur que vous utilisez n'est pas sur secteur. Ainsi, il n'entraîne pas de consommation supplémentaire pour un portable.

.
Or moi , je suis un ordi portable !!
Un moyen pour contourner ça ?


# Là pour le plaisir de découvrir . En souvenir de l'ado dont les yeux brillait devant l'écran d'un Amstrad 6128 ...

Hors ligne

#11 Le 26/05/2018, à 14:26

golgoth63

Re : [Résolu]Planifier l'exécution d'1 Cmd un jour J à l'allumage de l'ordi

~/.config/autostart/ (sous kde ~/.config/autostart-scripts/)


Kubuntu 18.04 LTS / KDE neon 5.12 LTS
Un livre de Frédéric Dard à lire : les trolls ! Comme à la maternelle, c'est celui qui dit qui est !
Avis d'un troll : Linux, c'est simple ! A moins de faire le nécessaire pour tout compliquer !

Hors ligne

#12 Le 26/05/2018, à 14:26

MicP

Re : [Résolu]Planifier l'exécution d'1 Cmd un jour J à l'allumage de l'ordi

Bonjour

Si tu faisais exécuter un script au démarrage de ta machine,
et que ce script commence par tester la date du jour
et s'arrête là si cette date n'est pas la bonne
ou alors, continue à faire ce que tu veux lui faire faire ce jour là si la date est la bonne

Par exemple, au début d'un script qui devra ne s'exécuter que les 26 du mois de mai:

#!/bin/bash
[ $(date +%d%m) = 2605 ] || exit
# Si on est bien le 26 du mois de mai,
# les commandes qui suivent seront exécutées
…

Hors ligne

#13 Le 26/05/2018, à 14:40

pseudofab

Re : [Résolu]Planifier l'exécution d'1 Cmd un jour J à l'allumage de l'ordi

Bonjour MicP,

Oui oui , je pensai justement à cette solution wink

pseudofab a écrit :

je pense contourner le problème avec mon script qui serait exécuté par anacrontab tous les jours à l'allumage , lequel prendrait en charge un test permettant de savoir si on est bien le 10 10 .

Allez , j'édite en [Résolu] .
Merci à vous tous ... J'ai encore appris quelques trucs .

Je posterai prochainement mon script (une fois écrit )qui me permettra de m'envoyer un SMS "Aide mémoire" le jour J...
Bon weekend à tous!


# Là pour le plaisir de découvrir . En souvenir de l'ado dont les yeux brillait devant l'écran d'un Amstrad 6128 ...

Hors ligne

#14 Le 26/05/2018, à 15:17

pseudofab

Re : [Résolu]Planifier l'exécution d'1 Cmd un jour J à l'allumage de l'ordi

golgoth63 a écrit :

~/.config/autostart/ (sous kde ~/.config/autostart-scripts/)

Je n'avais pas vu ta réponse...
Purée Bien vu!!!!
J'aurai quand même pu y penser . En plus , d'être simple (réalisable aussi avec l'interface graphique) , je connaissais pour m'y être penché dessus . Je dois avoir des trous dans la cervelle^^ . Mon esprit était tellement focalisé sur crontab et anacrontab que j'en ai oublié cette possibilité roll


# Là pour le plaisir de découvrir . En souvenir de l'ado dont les yeux brillait devant l'écran d'un Amstrad 6128 ...

Hors ligne

#15 Le 26/05/2018, à 15:30

grandtoubab

Re : [Résolu]Planifier l'exécution d'1 Cmd un jour J à l'allumage de l'ordi

pseudofab a écrit :
golgoth63 a écrit :

~/.config/autostart/ (sous kde ~/.config/autostart-scripts/)

Je n'avais pas vu ta réponse...
Purée Bien vu!!!!
J'aurai quand même pu y penser . En plus , d'être simple (réalisable aussi avec l'interface graphique) , je connaissais pour m'y être penché dessus . Je dois avoir des trous dans la cervelle^^ . Mon esprit était tellement focalisé sur crontab et anacrontab que j'en ai oublié cette possibilité roll

autostart c'est a chaque ouverture de session

il faut gérer la date par ailleurs


Linux tout seul sur HP Pavilion DV7 et Acer Aspire T650
Debian 10 Buster Gnome/Xorg, Gnome/Wayland, Weston/Wayland
Canon MG3650 en wifi
https://bidouilledebian.wordpress.com/

Hors ligne

#16 Le 26/05/2018, à 15:33

grandtoubab

Re : [Résolu]Planifier l'exécution d'1 Cmd un jour J à l'allumage de l'ordi

pseudofab a écrit :

à défaut d'autre solution , je pense contourner le problème avec mon script qui serait exécuté par anacrontab tous les jours à l'allumage , lequel prendrait en charge un test permettant de savoir si on est bien le 10 10 .

Il y a un truc , qui m'interpelle dans la doc d'anacron : Je lis :

anacron n'est pas lancé si l'ordinateur que vous utilisez n'est pas sur secteur. Ainsi, il n'entraîne pas de consommation supplémentaire pour un portable.

.
Or moi , je suis un ordi portable !!
Un moyen pour contourner ça ?

 cat /lib/systemd/system/anacron.service
[Unit]
Description=Run anacron jobs
After=time-sync.target
ConditionACPower=true
Documentation=man:anacron man:anacrontab

[Service]
ExecStart=/usr/sbin/anacron -dsq
IgnoreSIGPIPE=false

[Install]
WantedBy=multi-user.target

tu retires la condition ConditionACPower=true


Linux tout seul sur HP Pavilion DV7 et Acer Aspire T650
Debian 10 Buster Gnome/Xorg, Gnome/Wayland, Weston/Wayland
Canon MG3650 en wifi
https://bidouilledebian.wordpress.com/

Hors ligne

#17 Le 26/05/2018, à 20:40

pseudofab

Re : [Résolu]Planifier l'exécution d'1 Cmd un jour J à l'allumage de l'ordi

grandtoubab a écrit :

tu retires la condition ConditionACPower=true

Après ce n'est peut être pas très conseillé de faire cela . J'imagine que si le système utilise Anacron au moment que l'ordinateur s'éteint , ça va mettre la pagaille ...

En tout cas j'admire cette connaissance du système . J'espère qu'un jour elle sera mienne .


# Là pour le plaisir de découvrir . En souvenir de l'ado dont les yeux brillait devant l'écran d'un Amstrad 6128 ...

Hors ligne

#18 Le 26/05/2018, à 23:28

MicP

Re : [Résolu]Planifier l'exécution d'1 Cmd un jour J à l'allumage de l'ordi

Bonjour

Ou alors, en utilisant les services de systemd

=======
1°/ Créer le script qui sera lancé

Nom du fichier script :

/home/pseudofab/mesScripts/scriptPourAnivAelle.sh

Contenu du fichier script:

#!/bin/sh

# scriptPourAnivAelle.sh est lancé par 
#   anivAelle.service qui est déclenché par anivAelle.timer

[ $(/bin/date +%d%m) = 1010 ] || exit    # Ne rien faire si on n'est pas le 10 octobre

# Si on est bien le 10 octobre,
#  les lignes de commande(s) qui suivent seront exécutées
…

Rendre le script exécutable
(il sera exécuté par root)

=======
2°/ Créer le fichier du service qui lancera le script

Nom du fichier :

/etc/systemd/system/anivAelle.service

Contenu du fichier :

[Unit]
Description=Service qui sera lancé par anivAelle.timer une minute après le démarrage de la machine et qui lancera sriptPourAnivAelle.sh

[Service]
Type=oneshot
ExecStart=/home/pseudofab/mesScripts/scriptPourAnivAelle.sh

=======
3°/ Créer le timer qui lancera le service à chaque démarrage de la machine

Nom du fichier :

/etc/systemd/system/anivAelle.timer

Contenu du fichier :

[Unit]
Description=Timer qui lancera le service anivAelle.service une minute après le démarrage de la machine

[Timer]
# Temps d'attente après le démarrage de la machine et avant de lancer anivAelle.service
OnBootSec=1min
Unit=anivAelle.service

[Install]
WantedBy=multi-user.target

=======
4°/ Activer le service (en utilisant les privilèges du compte super-utilisateur)

systemctl enable anivAelle.timer

Au prochain démarrage de la machine, voir le retour de :

systemctl list-timers

pour constater que le timer a bien été activé.

=======
Inspiré de : unix.stackexchange : arch linux run script a minute after boot

=======
EDIT : J'ai corrigé ce message : j'avais oublié le c de scriptPourAnivAelle.sh
et j'ai changé le type du service en oneshot

Je n'ai pas essayé, mais il doit peut-être être possible de ne faire exécuter le service par le timer qu'à une date précise,
ce qui permettrait de supprimer le test de la date en cours dans le script.

Dernière modification par MicP (Le 27/05/2018, à 12:06)

Hors ligne

#19 Le 27/05/2018, à 08:37

pseudofab

Re : [Résolu]Planifier l'exécution d'1 Cmd un jour J à l'allumage de l'ordi

Merci MicP ,
Je testerai cela prochainement ... smile


# Là pour le plaisir de découvrir . En souvenir de l'ado dont les yeux brillait devant l'écran d'un Amstrad 6128 ...

Hors ligne

#20 Le 27/05/2018, à 09:12

golgoth63

Re : [Résolu]Planifier l'exécution d'1 Cmd un jour J à l'allumage de l'ordi

@MicP

Ta solution répond à "Planifier l'exécution d'1 Cmd un jour J à l'allumage de l'ordi" mais son exécution, si j'ai bien suivi est avant le login donc quid du retour et de l'affichage ?

Le titre du post serait plutôt "paramétrer le lancement d'un script au jour J après login" ou alors je n'ai pas compris la demande.


Kubuntu 18.04 LTS / KDE neon 5.12 LTS
Un livre de Frédéric Dard à lire : les trolls ! Comme à la maternelle, c'est celui qui dit qui est !
Avis d'un troll : Linux, c'est simple ! A moins de faire le nécessaire pour tout compliquer !

Hors ligne

#21 Le 27/05/2018, à 09:25

MicP

Re : [Résolu]Planifier l'exécution d'1 Cmd un jour J à l'allumage de l'ordi

…quid du retour et de l'affichage …

Je n'ai pas vu de demande d'affichage ou d'exécution d'une commande nécessitant qu'un utilisateur ait ouvert une session,

Pour l'instant, la demande était : "…exécution d'1 Cmd un jour J à l'allumage de l'ordi"
mais bien sûr, s'il fallait qu'un utilisateur ait ouvert une session et que l'affichage d'un message soit nécessaire, il faudra aussi spécifier où et comment l'afficher,
et adapter les conditions de lancement du script.

S'il s'agit de lancer un script qui enverra un SMS par l'intermédiaire du web, il faudra tester l'accès au web,
mais il ne sera pas nécessaire qu'un utilisateur ait ouvert une session (graphique ou non).

=======
Je viens de tester le script en y ajoutant, pour vérifier son fonctionnement,
les commandes suivantes :

echo "======="                          >> /home/pseudofab/mesScripts/logScriptPourAnivAelle.txt
echo "Le script $0 a été lancé $(date)" >> /home/pseudofab/mesScripts/logScriptPourAnivAelle.txt
id                                      >> /home/pseudofab/mesScripts/logScriptPourAnivAelle.txt

Et le fichier /home/pseudofab/mesScripts/logScriptPourAnivAelle.txt a bien été créé
avec, pour contenu :

=======
Le script /home/pseudofab/mesScripts/scriptPourAnivAelle.sh a été lancé dimanche 27 mai 2018, 09:40:30 (UTC+0200)
$PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
uid=0(root) gid=0(root) groupes=0(root)

Dernière modification par MicP (Le 27/05/2018, à 10:25)

Hors ligne

#22 Le 27/05/2018, à 09:55

golgoth63

Re : [Résolu]Planifier l'exécution d'1 Cmd un jour J à l'allumage de l'ordi

Entre #3 (une alerte sur l'ordi après login) et #13 (un sms qui part au démarrage), la solution n'est pas la même.

Mais tu m'as confirmé, systemd répond à #13....pour #3, autostart est plus simple à gérer. Il faut bien afficher la sortie à l'écran après login.


Reste un soucis : le démarrage programmé de l'ordi. Oui, si personne ne le démarre au jour J.


NOTA : je suis cela parce que cela fait 10 ans que je cherche sans succès une alternative sous linux à ATnotes (déclenchement d'une alarme visuelle / sonore / déclenchement d'un programme à l'instant T, avec répétition ou pas, rappel...)

Dernière modification par golgoth63 (Le 27/05/2018, à 10:02)


Kubuntu 18.04 LTS / KDE neon 5.12 LTS
Un livre de Frédéric Dard à lire : les trolls ! Comme à la maternelle, c'est celui qui dit qui est !
Avis d'un troll : Linux, c'est simple ! A moins de faire le nécessaire pour tout compliquer !

Hors ligne

#23 Le 27/05/2018, à 10:05

MicP

Re : [Résolu]Planifier l'exécution d'1 Cmd un jour J à l'allumage de l'ordi

…autostart est plus simple à gérer. …

tout à fait d'accord (s'il est question d'attendre que l'utilisateur ait ouvert une session, ou alors il faudra un "login automatique" par le gestionnaire de session)

…Reste un soucis : le démarrage programmé de l'ordi…

la RTC peut être programmée pour démarrer la machine (après, tout dépends si la machine a ou pas de batterie, sinon, ça dépendra d'EDF)

Dernière modification par MicP (Le 27/05/2018, à 10:28)

Hors ligne

#24 Le 27/05/2018, à 10:46

golgoth63

Re : [Résolu]Planifier l'exécution d'1 Cmd un jour J à l'allumage de l'ordi

MicP a écrit :

…autostart est plus simple à gérer. …

tout à fait d'accord (s'il est question d'attendre que l'utilisateur ait ouvert une session, ou alors il faudra un "login automatique" par le gestionnaire de session)

…Reste un soucis : le démarrage programmé de l'ordi…

la RTC peut être programmée pour démarrer la machine (après, tout dépends si la machine a ou pas de batterie, sinon, ça dépendra d'EDF)

Mode humour ON !
Bon, je propose le post-IT sur l'écran de l'ordi "le  xx-yy, ne pas oublier de démarrer l'ordi pour qu'il m'envoie le sms de rappel de l'anniversaire de ma copine !". Bien le scotcher en cas de courant d'air et surtout, ne pas oublier son téléphone. Au cas où, programmer une alarme sur le téléphone pour penser à allumer l'ordi.
Mode OFF !


Kubuntu 18.04 LTS / KDE neon 5.12 LTS
Un livre de Frédéric Dard à lire : les trolls ! Comme à la maternelle, c'est celui qui dit qui est !
Avis d'un troll : Linux, c'est simple ! A moins de faire le nécessaire pour tout compliquer !

Hors ligne

#25 Le 27/05/2018, à 11:57

MicP

Re : [Résolu]Planifier l'exécution d'1 Cmd un jour J à l'allumage de l'ordi

Ne surtout pas oublier non plus de mettre le prénom (codé, au cas où…) de la copine en question dans le SMS (au cas où il y en ait plusieurs…) smile

Dernière modification par MicP (Le 27/05/2018, à 12:07)

Hors ligne