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 :
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
Je souhaite l’exécuter toutes les minutes je l'ai donc mentionné dans crontab.
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