Pages : 1
#1 Le 03/10/2010, à 07:09
- gfontaniere
LS -L : date en anglais
Bonjour,
Une fois de plus, je viens solliciter votre aide.
Mon problème est simple :
- lorsque je fais un ls -l sous mon compte user, j'obtiens des dates en français
- lorsque je fais un ls -l appelé par un script défini dans la crontab (crontab éditée en faisant sudo crontab -e), j'obtiens des dates en anglais !!!
Comment faire pour obtenir dans ce dernier cas des dates en français ?
Merci.
PS : voici un bout du script appelé par la crontab et la fonction (en première ligne) qui me retourne la date du jour :
datejour=`ls -l /media/nfs/RAID1/Backups/BackupPortable/rdc.lundi.tar | awk -F" " '{print $6}'`
echo "**************** Sauvegarde complete du LUNDI-"$datejour" ***************************" > result.txt
if test -e /media/nfs/RAID1/Backups/BackupPortable/rdc.lundi.tar
then
du -h /media/nfs/RAID1/Backups/BackupPortable/rdc.lundi.tar | grep rdc.lundi.tar | sed 's|/media/nfs/RAID1/Backups/BackupPortable/|--> |' >> result.txt
else echo "!!! PROBLEME DETECTE !!! VERIFIER LA SAUVEGARDE !!!" >> result.txt
fi
if test -e /media/nfs/RAID1/Backups/documents.lundi.tar
then
du -h /media/nfs/RAID1/Backups/documents.lundi.tar | grep documents.lundi.tar | sed 's|/media/nfs/RAID1/Backups/|--> |' >> result.txt
else echo "!!! PROBLEME DETECTE !!! VERIFIER LA SAUVEGARDE !!!" >> result.txt
fi
if test -e /media/nfs/RAID1/Backups/BackupPortable/games_db.lundi.sql
then
du -h /media/nfs/RAID1/Backups/BackupPortable/games_db.lundi.sql | grep games_db.lundi.sql | sed 's|/media/nfs/RAID1/Backups/BackupPortable/|--> |' >> result.txt
else echo "!!! PROBLEME DETECTE !!! VERIFIER LA SAUVEGARDE !!!" >> result.txt
fi
echo " " >> result.txt
Dernière modification par gfontaniere (Le 03/10/2010, à 07:11)
Hors ligne
#2 Le 03/10/2010, à 11:06
- Totor
Re : LS -L : date en anglais
rajoute export LC_TIME="fr_FR@euro" en début de script.
Normalement, ça devrait le faire
-- Lucid Lynx --
Hors ligne
#3 Le 03/10/2010, à 11:06
- gfontaniere
Re : LS -L : date en anglais
je teste et je te tiens au courant.
merci.
Hors ligne
#4 Le 04/10/2010, à 06:54
- gfontaniere
Re : LS -L : date en anglais
ça n'a pas marché.
voilà ce que j'obtiens quand j'exécute un sudo monscript.sh :
**************** Sauvegarde complete du LUNDI-2010-10-04 ***************************
voilà ce que j'obtiens quand c'est la crontab qui exécute monscript.sh :
**************** Sauvegarde complete du LUNDI-Oct ***************************
Dans le second cas, je voudrais obtenir le même résultat que dans le premier cas.
Merci de bien vouloir m'aider.
Gérald.
Pour info, ma config :
Dernière modification par gfontaniere (Le 04/10/2010, à 07:07)
Hors ligne
#5 Le 04/10/2010, à 11:19
- alej
Re : LS -L : date en anglais
ça n'a pas marché
Sauf que ça devrait...
$ LANG=fr_FR.UTF-8 ls -l toto
-rw-r--r-- 1 alex alex 0 2010-10-04 12:17 toto
$ LANG=C ls -l toto
-rw-r--r-- 1 alex alex 0 Oct 4 12:17 toto
Mais bon, utilise l'option "--full-time" de ls et comme ça, on n'en parle plus
Hors ligne
#6 Le 04/10/2010, à 11:34
- xamaco
Re : LS -L : date en anglais
Est-que ton script commence par un shebang, genre :
#!/bin/bash
Si non, il se pourrait qu'il lance dash au lieu de bash, mais je peux me planter...
Hors ligne
#7 Le 04/10/2010, à 13:24
- Totor
Re : LS -L : date en anglais
Bonjour,
ça me parait bien étrange ton histoire...
plutôt que --full-time, utilise l'option '--time-style=FORMAT' avec le format que tu souhaites
Tu trouveras le formalisme de "FORMAT" dans le man de date : man date
-- Lucid Lynx --
Hors ligne
#8 Le 05/10/2010, à 06:58
- gfontaniere
Re : LS -L : date en anglais
Merci à tous, ça fonctionne !!!
Voici le début de mon script :
#!/bin/bash
export LANG=fr_FR.UTF-8
datejour=`ls -l /media/nfs/RAID1/Backups/BackupPortable/rdc.lundi.tar | awk -F" " '{print $6}'`
echo "**************** Sauvegarde complete du LUNDI-"$datejour" ***************************" >> result.txt
Le résultat obtenu est :
**************** Sauvegarde complete du LUNDI-2010-10-04 ***************************
Nickel, c'est exactement ce que je cherchais à obtenir.
Encore une fois, merci !
Hors ligne