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
2 réponses
-
Et en entier :
#!/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-
Bonjour,
A tout hasard..
https://askubuntu.com/questions/780337/how-to-open-an-url-in-firefox-via-cron-cron-jobs-scheduling
Chrome:
30 14 * * * export DISPLAY=:0 && google-chrome --new-window http://ww17.randomurl.com/
Firefox:
30 14 * * * export DISPLAY=:0 && firefox --new-window http://ww17.randomurl.com/ -
-
-
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âchecron
.
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!
-