[script] automatiser un shutdown

Autres projets et contributions
Répondre
djaac
Daikyu
Messages : 68
Inscription : mar. 23 janv. 2007, 19:22

[script] automatiser un shutdown

Message par djaac » mar. 23 janv. 2007, 19:25

Bonjour,

je cherche à automatiser des arrêt à distance sur des pcs linux et m'assurer avant tout que personnes ne soit connecté
l'idée c'était de posée une condition du genre :
si une session X est en cours alors ne pas éteindre sinon shutdown -h +30

avez vous une idée de script.

Avatar de l’utilisateur
wain
Maître du Kyudo
Messages : 1854
Inscription : ven. 11 août 2006, 19:15
Localisation : Nancy (54)
Contact :

Message par wain » mar. 23 janv. 2007, 19:43

Un ptit bout de code vite fait:

Code : Tout sélectionner

if [ $(who --users | wc -l) -eq 0 ]; then
    echo "Arrêt du système dans 30 sec"
    sleep 30
    halt
else
    echo "Des utilisateurs sont encore connectés. Arrêt impossible"
fi


djaac
Daikyu
Messages : 68
Inscription : mar. 23 janv. 2007, 19:22

Message par djaac » mar. 23 janv. 2007, 19:57

je teste demain,

mille merci pour ta réctivités,c'est super motivant,
merci encore

Avatar de l’utilisateur
vincentxavier
Elfe
Messages : 778
Inscription : ven. 11 août 2006, 18:17
Localisation : Epinay sur Seine (93)
Contact :

Message par vincentxavier » mar. 23 janv. 2007, 19:58

remarque stupide : j'avais l'habitude de lancer des batchs ! c'est dommage pour ces utilisateurs là
Warranty

THIS ADVICE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.

En clair, je ne pourrais être tenu responsable des dégats causés par l'utilisation de mes conseils

Image

djaac
Daikyu
Messages : 68
Inscription : mar. 23 janv. 2007, 19:22

Message par djaac » mar. 23 janv. 2007, 20:06

Wain,

j'ai testé,
j'étais donc connecté,
il a quand même étteint le pc,
le probleme de venir de "eq 0" ?

qu'est ce que tu en penses,
penses contre il n'affiche aucun avertissement a l'ecran comme quoi il va eteindre...


merci

Avatar de l’utilisateur
wain
Maître du Kyudo
Messages : 1854
Inscription : ven. 11 août 2006, 19:15
Localisation : Nancy (54)
Contact :

Message par wain » mar. 23 janv. 2007, 22:08

En fait, tout devrait tourner autour de la commande "who".
J'ai regardé rapidement le man, l'option --users doit donner la liste des utilisateurs connectés.
Et c'est peut-être ça qui cloche. Je t'invite à faire un essai de who --users pour voir ce que renvoi la commande.

La suite de la commande (wc -l) permet simplement de compter le nombre de lignes renvoyées par la commande.
Le test -eq 0 (equal zéro) lui est correct.

Question: tes utilisateurs son connectés comment ? en ssh ? à l'interface graphique ? sur un tty ?

djaac
Daikyu
Messages : 68
Inscription : mar. 23 janv. 2007, 19:22

Message par djaac » mer. 24 janv. 2007, 14:03

j'ai prèsenté ca à mon admin ce matin,

deja il veut du sh par ce que sous les sun bash n'est pas installé,
de plus il veut pouvoir savoir la machine et une station ou un serveur sur les sun et redhat ?

grosse misère quoi

Avatar de l’utilisateur
marc[i1]
Maître du Kyudo
Messages : 1753
Inscription : ven. 27 oct. 2006, 10:48
Localisation : Nantes (44)
Contact :

Message par marc[i1] » mer. 24 janv. 2007, 14:24

Je vais dire une connerie !

Vu le prix du support de chez Sun, tu peux leur demander de se démerder à t'apporter une solution. :cartonrouge:

et une autre pour la route ... que ton « admin » fasse son boulot correctement et qu'il se démerde ! :corde:

Voilà !
:humour:
:inutile:
Ne vous emmerdez plus, emmerdez les autres.

Avatar de l’utilisateur
wain
Maître du Kyudo
Messages : 1854
Inscription : ven. 11 août 2006, 19:15
Localisation : Nancy (54)
Contact :

Message par wain » mer. 24 janv. 2007, 18:44

djaac a écrit :j'ai prèsenté ca à mon admin ce matin,

deja il veut du sh par ce que sous les sun bash n'est pas installé,
de plus il veut pouvoir savoir la machine et une station ou un serveur sur les sun et redhat ?

grosse misère quoi
C'est un peu gros tout ça non ? :roll:
Un admin digne de ce nom devrait être en mesure de faire ce script... ensuite les quelques lignes données plus haut sont valables pour bash comme pour sh -et même zsh-.

Tu peux reformuler la phrase "de plus il veut pouvoir savoir la machine et une station ou un serveur sur les sun et redhat " stp ? j'ai rien compris :?

Avatar de l’utilisateur
vincentxavier
Elfe
Messages : 778
Inscription : ven. 11 août 2006, 18:17
Localisation : Epinay sur Seine (93)
Contact :

Message par vincentxavier » mer. 24 janv. 2007, 18:56

clair, je suis d'accod avec wain, c'est hénaurme si ton admin réseau sait pas faire cela (il a été formé par MicroSoft ?)

sinon, je pense que

Code : Tout sélectionner

uname -i
et

Code : Tout sélectionner

cat /etc/*release*
t'aideront respectivement à déterminer si ta machine a un processeur Sun et si la distribution est RedHat.

Pour savoir si c'est un serveur ou une station de travail, on peut se baser sur la présence ou non de X (en tant que paquet installé ou serveur lancé)
Faudra certaiment jouer avec /var/run/{xauth,xdmctl}

Voili voilà
Warranty

THIS ADVICE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.

En clair, je ne pourrais être tenu responsable des dégats causés par l'utilisation de mes conseils

Image

Répondre