Aller au contenu

Messages recommandés

Posté(e)

Bonjour,

Je souhaite forcer l'allumage de mon PC qui sert de serveur de sauvegarde au syno à l'ide du script ci-dessous. Ce script fonctionne en ssh, mais une exécution via le planificateur de tâche ne rallume pas le PC.

Y aurait-il une âme charitable pour m'aider à résoudre mon problème?

le script:

#!/usr/local/python/bin/python

import socket
s = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
s.sendto('xff'*6 + 'x00x00x00x00x00x00'*16, ('192.168.x.x', 9))
Posté(e)

A priori oui.

J'espérais une simple réponse "oui" ou "non" mais bon ...

De pplus le script fonctionne en ssh

je suppose que tu veux dire en ligne de commande?

Comment le lances-tu ce script?

Si c'est en tapant "python <nom du script>", il n'est pas étonnant qu'il ne marche pas en batch (cron ou planificateur de tache, c'est kif kif) car la commande "python" n'est pas dans le PATH par défaut.

Assure-toi que le script est exécutable (chmod +x) et, comme ligne de commande du planificateur de tache, met uniquement son chemin complet (sans la préfixer de "python")

Posté(e) (modifié)

Je viens de refaire un essai, connecté en ssh, en lançant le script par un

cd /volume1/Sripts
./Wol2PC.py 

Le fonctionnement est ok, le pc s'est allumé.

Dans le planificateur de tâches, j'ai saisi:

utilisateur: root

Script défini par l'utilisateur: /volume1/Scripts/Wol2PC.py

Modifié par maitryoda
Posté(e) (modifié)

Je ne vois pas ce qui ne va pas, le chemin de python est correct, le chemain d'accès au script également. Je sêche...

Si quelqu'un a une idée, je suis preneur

dans le planificateur, le champ de formulaire "script défini par l'utilisateur" est multiligne.

Suffit donc de remplacer

/volume1/Scripts/Wol2PC.py

par (une commande par ligne):

exec >/tmp/wol.log 2>&1
/volume1/Scripts/Wol2PC.py

ce qui permettra de voir dans "/tmp/wol.log" ce qui coince

Modifié par CoolRaoul
Posté(e)

Le fichier de log est bien créé suite à vérification par un dir /tmp en ssh, mais ce dernier est vide

Nous voila peu avancés alors

Dernier essai et apres je sèche (faudra attendre qu'un spécialiste python passe par ici)

En ligne de commande, en lançant le script de cette façon:

env - /volume1/Scripts/Wol2PC.py

est-ce que ça fonctionne aussi?

Posté(e)

Ca fonctionne pas et je viens de me rendre compte de le scripts ne fonctionnait plus non plus par un ./Wol2PC.py.

A n'y rien comprendre...

Et quelle syntaxe utilises-tu quand ca fonctionne alors (comme indiqué dans ton 1er message)?

Posté(e) (modifié)

Oui

Ceci est une réponse à quelle question?

**EDIT**

« La réponse est oui. Mais quelle était la question ? »

(Woody Allen)

Modifié par CoolRaoul
Posté(e)

Désolé je suis sur mon tel je n'ai pas modifié le Wol2PC.py et je le lance avec un ./Wol2PC.py

Ceci est une réponse à quelle question?

**EDIT**

« La réponse est oui. Mais quelle était la question ? »

(Woody Allen)

Lol

Posté(e)

Bon je reprend posément: lors de ton 1er message tu nous disais "Ce script fonctionne en ssh"

Tu l'avais lancé de quelle façon quand il a fonctionné à ce moment-là?.

(ou bien doit-on conclure qui'il n'a *jamais* marché?)

Posté(e)

Il a marché.

Connecté en ssh, je faisais cd /volume1/Scripts puis ./Wol2PC.py et le PC démarrait

Mais je viens de me rendre compte que le Wol ne fonctionnait plus du tout sur mon PC donc ... Je refais fonctionner le Wol du PC et je me refais tous les essais

Posté(e)

Il a marché.

Connecté en ssh, je faisais cd /volume1/Scripts puis ./Wol2PC.py et le PC démarrait

Mais je viens de me rendre compte que le Wol ne fonctionnait plus du tout sur mon PC donc ... Je refais fonctionner le Wol du PC et je me refais tous les essais

Ok, a suivre donc

Posté(e) (modifié)

Eureka j ai trouvé en fait l'origine du problème:

la config du pc

En fait il n'acceptait plus que les réveils par broadcast.

Du coup le script ne pouvait plus fonctionner.

J'ai trouvé un scripts sympa sur le net qui a parfaitement fonctionné en ssh et par le planificateur de tâches. Je le posterai demain au cas où quelqu'un est intéressé.

Du coup je ne sais pas pourquoi le script d'origine a fonctionné plusieurs fois... peu être une mise à jour de mon pc...

Modifié par maitryoda
Posté(e)

Bonjour,

Voici le script fonctionnel si cela peut intéresser quelqu'un:

#!/usr/local/python/bin/python
# wol.py

import socket
import struct

def wake_on_lan(macaddress):
    """ Switches on remote computers using WOL. """

    # Check macaddress format and try to compensate.
    if len(macaddress) == 12:
        pass
    elif len(macaddress) == 12 + 5:
        sep = macaddress[2]
        macaddress = macaddress.replace(sep, '')
    else:
        raise ValueError('Incorrect MAC address format')
 
    # Pad the synchronization stream.
    data = ''.join(['FFFFFFFFFFFF', macaddress * 20])
    send_data = '' 

    # Split up the hex values and pack.
    for i in range(0, len(data), 2):
        send_data = ''.join([send_data,
                             struct.pack('B', int(data[i: i + 2], 16))])

    # Broadcast it to the LAN.
    sock = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
    sock.setsockopt(socket.SOL_SOCKET, socket.SO_BROADCAST, 1)
    sock.sendto(send_data, ('192.168.0.255', 7))
    

if __name__ == '__main__':
    # Use macaddresses with any seperators.
    wake_on_lan('0F:0F:DF:0F:BF:EF')
    wake_on_lan('0F-0F-DF-0F-BF-EF')
    # or without any seperators.
    wake_on_lan('0F0FDF0FBFEF')

  • 1 an après...
Posté(e)

Bonjour à tous

Me retrouvant coincé avec le paquet de TontonGlen et la version revue et corrigée (qui fonctionnait sous DSM 4.2) j'aimerais bien tenter cette solution.

En revanche je suis une bille en ligne de commande Linux, mais si on m'explique clairement et avec des étapes, je vais pouvoir m'en sortir avec votre aide.

Une âme charitable pourrait-elle m'indiquer pas à pas comment mettre ce script en place et comment le lancer (si possible depuis DSM) ?

  • 11 mois après...

Rejoindre la conversation

Vous pouvez publier maintenant et vous inscrire plus tard. Si vous avez un compte, connectez-vous maintenant pour publier avec votre compte.

Invité
Répondre à ce sujet…

×   Collé en tant que texte enrichi.   Coller en tant que texte brut à la place

  Seulement 75 émoticônes maximum sont autorisées.

×   Votre lien a été automatiquement intégré.   Afficher plutôt comme un lien

×   Votre contenu précédent a été rétabli.   Vider l’éditeur

×   Vous ne pouvez pas directement coller des images. Envoyez-les depuis votre ordinateur ou insérez-les depuis une URL.

×
×
  • Créer...

Information importante

Nous avons placé des cookies sur votre appareil pour aider à améliorer ce site. Vous pouvez choisir d’ajuster vos paramètres de cookie, sinon nous supposerons que vous êtes d’accord pour continuer.