Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 02/08/2013, à 15:16

Nard55

Quel est l'utilisateur lors d'un tâche planifié

Bonjour,

Je lance un petit programme windows grace à win dans une tâche planifié toutes les nuits.
Lors de cette tâche, j'ai besoin de supprimer les anciens fichiers de données avant de les recréer.

Mon programme est installé dans le répertoire www.
Le créateur des fichiers est : www-data
Le group d'apparteance est aussi www-data.

Lorsque je lance manuellement le programme tout fonctionne, par contre lorsque je lance le prgramme en tache planifié, les fichiers ne sont pas effacés et le programme ne peut pas continuer...
Je suppose que lorsque je lance le programme en tache planifié je n'ai pas assez de droits pour supprimer les anciens fichiers de données.
Quel est l'utilisateur losque l'on lance un programme en tâche planifiée ?

J'espère que je me suis bien fait comprendre..

Merci de votre aide

Hors ligne

#2 Le 02/08/2013, à 15:29

genma

Re : Quel est l'utilisateur lors d'un tâche planifié

Dans le wiki il est dit

Chaque utilisateur a un fichier crontab, lui permettant d'indiquer les actions et à quelles périodes, elles devront être exécutées.

http://doc.ubuntu-fr.org/cron

Donc je pense qu'il faut mettre ta tâche dans la crontab de l'utilisateur  "www-data".


"Lorsque tu as découvert le libre, tu sais que tu ne pourras plus jamais revenir en arrière".
Utilisateur d'Ubuntu depuis la version 4.10 !
Mon blog ?      https://blog.genma.fr
Mon twitter?     http://twitter.com/genma

Hors ligne

#3 Le 02/08/2013, à 21:33

Nard55

Re : Quel est l'utilisateur lors d'un tâche planifié

je n'ai pas d eproblème pour faire exécuter ma tache planifié mon problème est un problème de droit sur les fichiers.
Je suis super débutant sous ubuntu ...

lorsque l'on lance une tache planifiée via l'interface graphique qui suis-je  ? root ?
Pour accéder à mon serveur dédié chez OVH) je me logue en desktop.
Avec ce logue si je lance mon application directement cela fonctionne, mais pas avec une tache planifié .

Hors ligne

#4 Le 02/08/2013, à 22:34

hcm

Re : Quel est l'utilisateur lors d'un tâche planifié

Bonsoir,

Je n'ai pas la réponse proprement dite à ta question.
Par contre, je sais comment obtenir la réponse.

Pour cela, il te suffit d'ajouter dans ton script la ligne suivante

id > /tmp/id.txt

Puis de consulter le fichier /tmp/id.txt, une fois le script invoqué par cron, pour avoir la réponse que tu pourras poster dans ton fil car la réponse m'intéresse tongue
Profites en pour passer ton fil à Résolu, si tel est le cas.


Ubuntu 22.04.1 LTS - 64 bits / Intel Pentium(R) Dual CPU E2200 @ 2.20GHz × 2 / 2 Go RAM / 1,1 To DD / Carte Graphique Intel G33

Hors ligne

#5 Le 03/08/2013, à 11:43

Nard55

Re : Quel est l'utilisateur lors d'un tâche planifié

j'ai effectué ce que tu m'as demandé cette nuit.
Voici le contenu du fichier :
uid=1000(desktop) gid=1000(desktop) groupes=4(adm),20(dialout),24(cdrom),33(www-data),46(plugdev),104(fuse),105(lpadmin),110(x2gousers),119(admin),122(sambashare),999(x2goprint),1000(desktop)
Mais pour moi c'est du chinois...
peux-tu me renseigner ?
Merci

Hors ligne

#6 Le 05/08/2013, à 22:46

hcm

Re : Quel est l'utilisateur lors d'un tâche planifié

Salut,

uid représente l'utilisateur; son nom = desktop, sa valeur = 1000

Pour le reste la commande id te donne les informations concernant les groupes auxquels appartiennent ton utilisateur desktop.

Plus de détails avec:

man id

Ubuntu 22.04.1 LTS - 64 bits / Intel Pentium(R) Dual CPU E2200 @ 2.20GHz × 2 / 2 Go RAM / 1,1 To DD / Carte Graphique Intel G33

Hors ligne

#7 Le 06/08/2013, à 10:29

Neosnow

Re : Quel est l'utilisateur lors d'un tâche planifié

Nard55 a écrit :

je n'ai pas d eproblème pour faire exécuter ma tache planifié mon problème est un problème de droit sur les fichiers.

En fait, les 2 sont liés. Je m'explique : si l'utilisateur qui exécute la tâche n'a pas assez de droits sur les fichiers, il ne pourra rien faire. Il faut donc changer l'utilisateur qui exécute la tâche afin de ne plus avoir de problèmes de droits.

Donc, premièrement, comment as-tu créé la tâche planifiée ? En ligne de commande ? Qu'as-tu écrit ? Le cas échéant, quel fichier as-tu modifié ?

Dernière modification par Neosnow (Le 06/08/2013, à 10:30)

Hors ligne

#8 Le 11/08/2013, à 18:52

Nard55

Re : Quel est l'utilisateur lors d'un tâche planifié

mon utilisateur s'appelle desktop.
J'ai donné tous les droits sur le répertoire et les fichiers à cet utilisateur.
Par contre pour la tâche planifiée j'ai ajouté une tâche en utilisant le menu Applications - Outils système - tache planifié ....
Lorsque la tache se lance le programme plante car il n'a pas les droits sur les fichiers ...
Si je lance directement le programme lorsque je suis logué en desktop cela fonctionne sans problème.
Comment changer l'utilisateur qui lance la tache planifiée ?
Merci

Hors ligne

#9 Le 11/08/2013, à 19:05

erresse

Re : Quel est l'utilisateur lors d'un tâche planifié

D'après ton post #5, l'utilisateur qui exécute le script en tâche plannifiée est... "desktop" ! Il devrait donc avoir tous les droits dont tu disposes en étant loggé en desktop, non ?
Comment sais-tu que la non-exécution du script est due à un problème de droits sur les fichiers ???


Plus de 50 ans d'informatique, ça en fait des lignes de commandes en console, mais on n'avait pas le choix...
Excellente raison pour, aujourd'hui qu'on le peut, utiliser au maximum les INTERFACES GRAPHIQUES !
Important : Une fois résolu, pensez à clore votre sujet en ajoutant [Résolu] devant le titre du 1er message, et un bref récapitulatif de la solution à la fin de celui-ci. Merci.

Hors ligne

#10 Le 11/08/2013, à 23:28

Nard55

Re : Quel est l'utilisateur lors d'un tâche planifié

Je crois que tu as raison, je viens de m'apercevoir que lorsque je lance le programme par une tache planifiée les fichiers se remplissent non pas dans le répertoire du programme mais dans le repertoire de l'utilisateur ....
Je lance ma tache planifié comme ceci :
00 00 * * * wine /var/www/appli/appli.exe
mais comment lui dire que c'est également le répertoire de travail ?
Au faire si je lance appli.exe directement le programme fonctionne parfaitement, ce n'est donc pas un problème du programme.
Merci de votre aide mais la je patine ...

Hors ligne

#11 Le 12/08/2013, à 11:01

erresse

Re : Quel est l'utilisateur lors d'un tâche planifié

Au départ, tu parlais d'un SCRIPT, alors que tu indiques maintenant le lancement d'un PROGRAMME...
Si c'est un script, tu peux insérer une commande CWD pour indiquer le répertoire de travail que tu souhaites. A condition que le programme qui s'exécute ne contienne pas un chemin "en dur", ça devrait aller, il enregistrera là où tu le souhaite.
En revanche, si tu lances vraiment un programme, il faudrait voir s'il accepte des paramètres au lancement pour définir le chamin du répertoire de travail.


Plus de 50 ans d'informatique, ça en fait des lignes de commandes en console, mais on n'avait pas le choix...
Excellente raison pour, aujourd'hui qu'on le peut, utiliser au maximum les INTERFACES GRAPHIQUES !
Important : Une fois résolu, pensez à clore votre sujet en ajoutant [Résolu] devant le titre du 1er message, et un bref récapitulatif de la solution à la fin de celui-ci. Merci.

Hors ligne

#12 Le 12/08/2013, à 13:42

Neosnow

Re : Quel est l'utilisateur lors d'un tâche planifié

erresse a écrit :

Au départ, tu parlais d'un SCRIPT, alors que tu indiques maintenant le lancement d'un PROGRAMME...

Je veux pas faire le chiant, mais c'est toi qui a commencé à parler de script dans ton post #9. Si tu lis bien le 1er post, il est bien question de lancer un programme...

erresse a écrit :

En revanche, si tu lances vraiment un programme, il faudrait voir s'il accepte des paramètres au lancement pour définir le chamin du répertoire de travail.

En effet, je suis pas expert avec Wine, mais il doit y avoir un moyen de le configurer correctement pour qu'il utilise le bon répertoire de travail (voir du côté de WINEPREFIX).

Dernière modification par Neosnow (Le 12/08/2013, à 13:43)

Hors ligne

#13 Le 12/08/2013, à 16:02

erresse

Re : Quel est l'utilisateur lors d'un tâche planifié

Au temps pour moi, c'est hcm, au post #4, qui parlait de script et d'y ajouter une commande pour identifier l'initiateur. C'est exact !
Cela étant, tu n'aurais pas une idée pour aider Nard55 à résoudre son problème ? Je crois qu'il est possible d'indiquer à wine un environnement de travail dans la commande de lancement, mais je ne connais pas assez bien le topo, je n'ai jamais rien automatisé avec wine et un programme win à lancer.
Ou peut-être en écrivant un script qui lancerait lui-même la tâche avec wine et pourrait préciser le répertoire de travail avant lancement ?


Plus de 50 ans d'informatique, ça en fait des lignes de commandes en console, mais on n'avait pas le choix...
Excellente raison pour, aujourd'hui qu'on le peut, utiliser au maximum les INTERFACES GRAPHIQUES !
Important : Une fois résolu, pensez à clore votre sujet en ajoutant [Résolu] devant le titre du 1er message, et un bref récapitulatif de la solution à la fin de celui-ci. Merci.

Hors ligne

#14 Le 12/08/2013, à 17:21

Neosnow

Re : Quel est l'utilisateur lors d'un tâche planifié

essaye d'utiliser wine start au lieu de wine tout court :

wine start /Unix "/var/www/appli/appli.exe"

Hors ligne

#15 Le 13/08/2013, à 11:54

Nard55

Re : Quel est l'utilisateur lors d'un tâche planifié

Super cela fonctionne parfaitement !
Un grand Merci à tous pouor votre aide, je commençais à desespérer d'y arriver.

Hors ligne