Projet réveil shell scripting
ttresori
Messages postés
4
Statut
Membre
-
ttresori Messages postés 4 Statut Membre -
ttresori Messages postés 4 Statut Membre -
Bonjour,
Pour un projet libre je dois crée un petit script au choix.
J'ai décidé de faire une sorte d'horloge mais je crois ne pas bien réussir a utiliser cron pour panifier depuis un script.
Voici mon script : Je dispose d'une heure valide et des minutes valides
En regardant le fichier syslog, la tache c'est bien exécuter a l'heure demander mais xdg-open na pas l'air de s’exécuter et d'ouvrir la page.
Je bloque la dessus et ne trouve pas de solution,si quelqu’un voyais d'où viendrais les erreurs..
Cordialement, Merci
Pour un projet libre je dois crée un petit script au choix.
J'ai décidé de faire une sorte d'horloge mais je crois ne pas bien réussir a utiliser cron pour panifier depuis un script.
Voici mon script : Je dispose d'une heure valide et des minutes valides
#!/bin/bash
echo "Copie le lien d'une page [web] ou [path_file]" Exemple https://www.google.com/
read link
echo "xdg-open "$link"">link_to_start (Fichier où écrire la commande a éxécuter)
echo "\n"$minutes" "$heure" * * * $USER /home/$USER/Documents/reveil/link_to_start">>/etc/crontab [[[***1]]]
crontab /etc/crontab
/etc/init.d/cron reload
/etc/init.d/cron restart
- 1 Le problème pourrais venir du format de l'entrée ?
En regardant le fichier syslog, la tache c'est bien exécuter a l'heure demander mais xdg-open na pas l'air de s’exécuter et d'ouvrir la page.
Je bloque la dessus et ne trouve pas de solution,si quelqu’un voyais d'où viendrais les erreurs..
Cordialement, Merci
A voir également:
- Projet réveil shell scripting
- Classic shell - Télécharger - Personnalisation
- Filigrane projet - Guide
- Télécharger sonnerie réveil iphone - Guide
- Gant projet - Télécharger - Gestion de projets
- Réveil matin gratuit - Télécharger - Guide Android
2 réponses
Et en entier :
EDIT : Ajout des balises de code
#!/bin/bash
heure=0 ; minutes=0 ; maxheure=23 ; maxminutes=59 ; valid=1
while [ $valid -ne 2 ]
do
echo "Choisis une heure de sonnerie :"
read heure
echo "Choisis les minutes :"
read minutes
if [ $heure -gt $maxheure ]
then
echo "Pas possible, il n'ya que 24 heure dans une journee"
else
valid=2
fi
if [ $minutes -gt $maxminutes ]
then
echo "Pas possible, il n'ya que $maxminutes dans une heure"
valid=1
fi
if [ $heure -lt "0" ]
then
echo "Pas possible, il n'ya pas heure negative dans une journee"
valid=1
fi
if [ $minutes -lt "0" ]
then
echo "Pas possible, il n'ya pas de minutes negative dans une heure"
valid=1
fi
if [ $heure -gt $maxheure ]
then
echo "Pas possible, il n'ya que 24 heure dans une journee"
else
valid=2
fi
done
if [ $heure -lt "10" ]
then
echo -n "0"$heure"h"
else
echo -n ""$heure"h"
fi
if [ $minutes -lt "10" ]
then
echo -n "0"$minutes""
else
echo -n ""$minutes""
fi
read -p " te convient (y/n)?" yn
case $yn in
[Yy]* ) echo "OK";;
[Nn]* ) echo "Restart the script so"; exit;;
esac
echo "Copie le lien d'une page [web] ou [path_file]"
read link
echo "xdg-open "$link"">link_to_start
echo "\n"$minutes" "$heure" * * * $USER /home/$USER/Documents/reveil/link_to_start">>/etc/crontab
crontab /etc/crontab
/etc/init.d/cron reload
/etc/init.d/cron restart
EDIT : Ajout des balises de code
salut,
d'abord, une horloge n'est pas un réveil : le réveil contient une horloge, l'inverse n'est pas vrai. ;)
ensuite, ce n'est pas ainsi qu'on implémente une tâche
d'ailleurs, on ne sait pas si tu veux créer une tâche pour un utilisateur (ce qui est le plus probable), ou pour tout le système...
Or, là, tu inscris la tâche dans la crontab système.
tu dois chercher comment, dans un script, inscrire une tâche dans la crontab utilisateur ! (ça se trouve facilement)
MAIS
enfin, il est toujours malhabile de faire une tâche cron pour lancer un programme en mode graphique pour un utilisateur
qui n'est pas toujours connecté, et
qui n'est pas toujours connecté en mode graphique.
il est préférable de lancer le script au démarrage de la session utilisateur, et de leconstruire de manière qu'il s'exécute en permanence.
d'abord, une horloge n'est pas un réveil : le réveil contient une horloge, l'inverse n'est pas vrai. ;)
ensuite, ce n'est pas ainsi qu'on implémente une tâche
cron.
d'ailleurs, on ne sait pas si tu veux créer une tâche pour un utilisateur (ce qui est le plus probable), ou pour tout le système...
Or, là, tu inscris la tâche dans la crontab système.
tu dois chercher comment, dans un script, inscrire une tâche dans la crontab utilisateur ! (ça se trouve facilement)
MAIS
enfin, il est toujours malhabile de faire une tâche cron pour lancer un programme en mode graphique pour un utilisateur
qui n'est pas toujours connecté, et
qui n'est pas toujours connecté en mode graphique.
il est préférable de lancer le script au démarrage de la session utilisateur, et de leconstruire de manière qu'il s'exécute en permanence.
Salut,
Merci pour la précision j 'était bien fatigué quand j'ai demandé de l'aide 8)
Oui c'est pour l'user actuel et oui bien vus si on es connecter en ssh a la machine l'explorateur risque d'avoir du mal a s'ouvrir, bien vus !!
To do:
User connecter ? -> ssh ou reel.
-------------
Genre executer le script en background au démarage-> dans le script un check de l'heure qui réagis a une éxécution de commande ?
Du coup je ne passerais plus par cron.
A voir si c'est réalisable, je vais voir tout sa et je reviens vers vous
Merci!
Merci pour la précision j 'était bien fatigué quand j'ai demandé de l'aide 8)
Oui c'est pour l'user actuel et oui bien vus si on es connecter en ssh a la machine l'explorateur risque d'avoir du mal a s'ouvrir, bien vus !!
To do:
User connecter ? -> ssh ou reel.
-------------
Genre executer le script en background au démarage-> dans le script un check de l'heure qui réagis a une éxécution de commande ?
Du coup je ne passerais plus par cron.
A voir si c'est réalisable, je vais voir tout sa et je reviens vers vous
Merci!
A tout hasard..
https://askubuntu.com/questions/780337/how-to-open-an-url-in-firefox-via-cron-cron-jobs-scheduling
Chrome:
Firefox:
Merci mais le soucis est que je ne connais pas la version du navigateur (enfin si mais je vais faire comme si)
Je vais essayer avec l'ajout du DISPLAY. Je vous tient au courant merci