Contenu | Rechercher | Menus

Annonce

Si vous rencontrez des soucis à rester connecté sur le forum (ou si vous avez perdu votre mot de passe) déconnectez-vous et reconnectez-vous depuis cette page, en cochant la case "Me connecter automatiquement lors de mes prochaines visites". Attention, le forum rencontre actuellement quelques difficultés. En cas d'erreur 502, il ne faut pas re-valider l'envoi d'un message ou l'ouverture d'une discussion, au risque de créer un doublon.

La section divers se réorganise ! De nouvelles sous-sections à venir. (plus d'infos + donner son avis)

#26 Le 01/12/2012, à 14:43

ljere

Re : [Resolu] automatisation de l'extinction du PC avec confirm et decompte

je t'ai rajouté une commande pour voir si le prog est bien lancé

#!/bin/bash
##################################################################################
## Autheur: ljere                                                               ##
## Script pour éteindre les pc en effectuant une sauvegarde de sécurité         ##
##################################################################################
echo "script lancé" > ~/test
#sauvegarde des documents
while :; do
#lancement de la commande avec grsync

# demander si il faut bien éteindre
ans=$(zenity --question --timeout=60 --title "Alert" --text  "le pc va s'éteindre dans 60 sec");
if [ $? = 5 ]; then 
    dbus-send --system --print-reply --dest="org.freedesktop.ConsoleKit" /org/freedesktop/ConsoleKit/Manager org.freedesktop.ConsoleKit.Manager.Stop
    exit 1
fi
    echo 'utilisateur lance la boucle'
    sleep 3540
done

mais il me semble que sur ce coup la on a pas beaucoup réfléchi
je m'explique le principe de ma commande était de lancer l'extinction sans être root mais si tu la places dans bin ou /usr/bin/ il faut activer le crontab de root soit

sudo crontab -e

ou alors tu remets ton script dans ton dossier personnel et la le crontab user sera l'activer sans problème en lui indiquant juste dans quel dossier se trouve le script tu as le choix des méthodes


athlon 2800+, nvidia FX5200 et 2 Go de ram et sempron 3000+, ati radeon et 1 Go de ram sur voyager 12.04 32 bit
Toshiba satellite_c670d-11l sur openboxubuntu 14.10 64 bit
Mon Blog
administrateur du forum ubuntu-fr.org

Hors ligne

#27 Le 02/12/2012, à 02:39

samos412

Re : [Resolu] automatisation de l'extinction du PC avec confirm et decompte

j'aurais vraiment bien voulu noté [Résolu] dans le sujet, mais c'est toujours pas le cas.

j'ai bien un fichier tes qui s'est crée avec script lancé dedans.

ce ne serait pas crontab qui merdois?

Hors ligne

#28 Le 02/12/2012, à 08:58

ljere

Re : [Resolu] automatisation de l'extinction du PC avec confirm et decompte

quand tu lances ton script dans le terminal ça fonctionne?
tu as bien lancé crontab en root ou tu l'as déplacé dans ton home?
as tu modifié le script?


athlon 2800+, nvidia FX5200 et 2 Go de ram et sempron 3000+, ati radeon et 1 Go de ram sur voyager 12.04 32 bit
Toshiba satellite_c670d-11l sur openboxubuntu 14.10 64 bit
Mon Blog
administrateur du forum ubuntu-fr.org

Hors ligne

#29 Le 02/12/2012, à 10:44

loubrix

Re : [Resolu] automatisation de l'extinction du PC avec confirm et decompte

une idée à tester: remplace dans le script

#!/bin/bash

par

#!/bin/sh

PS: je m'explique; dans /etc/crontab, on a ça:

SHELL=/bin/sh

et bien que dans /etc/shells on aie ça:

# /etc/shells: valid login shells
/bin/sh
/bin/dash
/bin/bash
/bin/rbash

je me demandais si ça pouvait jouer...


Asus X50VL - Ubuntu 12.04 AMD64
HP G62 - Ubuntu 12.10 AMD64
Fujitsu-Siemens Amilo EL - Lubuntu 12.04 i686
Manjaro, une rolling pour débutants

Hors ligne

#30 Le 03/12/2012, à 17:25

sam412

Re : [Resolu] automatisation de l'extinction du PC avec confirm et decompte

alors le script fonctionne lorsque je le lance dans un terminal.

j'ai modifier le cron en root,

j'ai modifié le script, en ajoutant

echo "script lancé" > ~/test

j'ai bien un fichier test dans mon home, avec script lancé écrit dedans.
donc le script fonctionne mais ne lance pas la commande.....

ne faut il pas etre en root pour lancer :

ans=$(zenity --question --timeout=60 --title "Alert" --text  "le pc va s'éteindre dans 60 sec");

c'est juste une idée

merci

Hors ligne

#31 Le 04/12/2012, à 08:53

elendil

Re : [Resolu] automatisation de l'extinction du PC avec confirm et decompte

Salut,

Si le script fonctionne dans un terminal sans root c'est qu'il est bon !

Par contre cron ne sait pas lancé d'application graphique si on ne lui précise pas vers quel display le faire....
Il faut semble-t-il ajouter

export DISPLAY=:0 &&

dans ton crontab ce qui devrait donner

45 11 * * * export DISPLAY=:0 && /usr/bin/eteindre

source : http://ubuntuforums.org/showthread.php?t=185993

Il faut par contre que /usr/bin/eteindre soit exécutable par tout le monde :

chmod 755 /usr/bin/eteindre

Elendil

Dernière modification par elendil (Le 04/12/2012, à 08:55)

Hors ligne

#32 Le 05/12/2012, à 08:19

sam412

Re : [Resolu] automatisation de l'extinction du PC avec confirm et decompte

yep

ayé ca marche, enfin.

un petit résumé s'impose

j'ai utiliser le script de ljere que j'ai un peu modifié:

#!/bin/bash
##################################################################################
## Autheur: ljere                                                               ##
## Script pour éteindre les pc en effectuant une sauvegarde de sécurité         ##
##################################################################################

#sauvegarde des documents
while :; do
#lancement de la commande avec grsync

# demander si il faut bien éteindre
ans=$(zenity --question --timeout=60 --title "Extinction auto du poste" --text  "le pc va s'éteindre brutalement dans 60 sec" --ok-label "eteindre maintenant" --cancel-label "j'attends la prochaine alerte, dans 1h");
if [ $? = 5 ]; then 
    dbus-send --system --print-reply --dest="org.freedesktop.ConsoleKit" /org/freedesktop/ConsoleKit/Manager org.freedesktop.ConsoleKit.Manager.Stop
    exit 1
fi
    echo 'utilisateur lance la boucle'
    sleep 3600
done

je n'ai pas integré la sauvegarde, je trouve plus pertinant de l'integrer a la fermeture du poste, quelque soit la maniere de l'eteindre.

j'ai nommé ce script eteindre

j'ai copié ce fichier dans /usr/bin et je l'ai rendu executable par tous

chmod 755 /usr/bin/eteindre

puis j'ai édité le cron

crontab -e

et j'ai ajouté une ligne

00 18 * * * export DISPLAY=:0.0 && /usr/bin/eteindre

ainsi, le sript se lance tous les jours a 18h, et averti l'utilisateur que le poste va s'eteindre brutalement 60 secondes plus tard (sans qu'aucune demande d'enregistrement des documents ouverts soit demandé. d'ou le brutalement).
Soit il n'y a pas de reponse de sa part, et l'ordi s'eteint, soit il a le choix d'attendre 1h de plus pour que l'extinction se fasse plus tard.

et voila ca marche, il y avait une erreur de syntaxe dans ce que tu avais noté elendil

il manquait un .0 apres le DISPLAY=:0

Merci a tous.tes de m'avoir aidé, en espérant que ce script serve aussi a d'autres pour éviter que des ordinateur restent allumer inutilement toute la nuit par négligence de certains.nes

Sam412

Hors ligne

#33 Le 05/12/2012, à 09:52

elendil

Re : [Resolu] automatisation de l'extinction du PC avec confirm et decompte

Salut,

Bien vu pour le 0.0 après DISPLAY wink

Une possibilité d'amélioration est de remplacer le sleep par la commande at avec quelque chose du genre :

echo "/usr/bin/eteindre" | at now + 1 hours

C'est une subtilité mais sleep est une commande qui attend et va rester active pendant 3600 seconde . . .
Au contraire at prévoit de relancer le script dans une heure et ne fais rien pendant ce temps là.

Je ne pense pas qu'il y ait de réel problème avec sleep mais mettons que l'utilisateur demande à laisser le PC alumer une heure de plus et qu'il éteigne correctement le PC 20 minutes plus tard. Le script eteindre sera en cours d'exécution (à cause de la commande sleep).
Au contraire avec at rien ne tourne et si le PC est éteint une heure plus tard il ne va pas l'allumer et ne se lancera tout simplement pas.

J'espère ne pas dire de bêtise.

Bonne journée,

Elendil

Hors ligne

#34 Le 05/12/2012, à 10:19

ljere

Re : [Resolu] automatisation de l'extinction du PC avec confirm et decompte

je ne vois pas de réel inconvénient avec sleep quand on va éteindre le pc 20 mn plus tard comme tu le suggères le système va killer tous les process actif dont sleep
c'est vrai que l'on peux essayer avec at mais je suis sceptique sur l’intérêt


athlon 2800+, nvidia FX5200 et 2 Go de ram et sempron 3000+, ati radeon et 1 Go de ram sur voyager 12.04 32 bit
Toshiba satellite_c670d-11l sur openboxubuntu 14.10 64 bit
Mon Blog
administrateur du forum ubuntu-fr.org

Hors ligne

#35 Le 05/12/2012, à 17:41

elendil

Re : [Resolu] automatisation de l'extinction du PC avec confirm et decompte

Je me posais un peu la question à "voix haute" et c'est vrai que la consommation CPU de sleep est assez insignifiante.

Moi j'utilise at dans mes scripts dans ce cas de figure là surtout car j'ai plus d'une heure à attendre et plein de script qui fonctionnent comme ça.
Et je ne voulais pas encombrer le système avec des dizaines de sleep qui attendent longtemps.

C'est vrai qu'ici ça ne doit pas changer grand chose.

Hors ligne

Haut de page ↑