Bonjour,
Je vous explique le contexte : Je souhaite générer des logs dans un ficher texte appelé "mylogs", pour cela j'ai réalisé un petit script bash avec une boucle for que voici :
Je souhaite l’exécuter toutes les minutes je l'ai donc mentionné dans crontab.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 #!/bin/bash for i in `seq 1 $[($RANDOM % ($[10000-1000] + 1)) + 1000]` do echo "log $i" >> mylogs done
Mais a priori j'ai un soucis de droits puique apres 3 minutes d'attente le fichier "mylogs" n'était pas rempli.
Bref :
Voici l'endroit où est mon fichier de logs : /var/log et il s'appelle "mylogs"
Le script est situé de le même répertoire /var/log/MonScript.sh
J'ai volontairement mis les droits sur le script et le fichier à 777.
venons en au problème :
lorsque j'execute mon script manuellement je me mets dans /var/log/ et je saisis la commande ./MonScript.sh jusque là ça marche parfaitement.
Maintenant dans le crontab, j'ai du lui mettre un chemin plus precis, en l'occurence /var/log/MonScript.sh
mais si je me mets dans / et que je fais /var/log/MonScript.sh , l'execution marche (autant de lignes d'erreurs dans la console que de lignes attendues dans le fichier de logs ) mais pas l'écriture dans "mylogs".
J'obtiens le message d'erreur suivant : ./var/log/MonScript.sh: ligne 5: mylogs: Permission non accordée
Comment expliquer ceci alors que j'ai mis les droits à 777 pour mylogs ?
Merci pour votre aide
Partager