The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

форумы  помощь  поиск  регистрация  майллист  вход/выход  слежка  RSS
"cron и локаль"
Вариант для распечатки  
Пред. тема | След. тема 
Форум Программирование под UNIX (Shell скрипты)
Изначальное сообщение [ Отслеживать ]

"cron и локаль"  +/
Сообщение от Alting email(ok) on 11-Янв-11, 10:42 
Коллеги, избитая тема.
есть некий файл:
14302 2010-12-30 16:05 /mnt/backup/VM/IPO_LIFE_DATE/30-12-2010/mnt/jaguar/Extn2505/b7c4c82049b54f6e848509356237bb3b.WAV    
1870302 2010-12-30 12:26 /mnt/backup/VM/IPO_LIFE_DATE/30-12-2010/mnt/jaguar/Att16/a886d9ab99b249c59873914a287dc57b.WAV    
122302 2010-12-30 15:02 /mnt/backup/VM/IPO_LIFE_DATE/30-12-2010/mnt/jaguar/Att16/91ee696a40ec44e8ad2fb99f6fa8535c.WAV    
и т.п.
таким он получается, если запустить скрипт из консоли (там присутствует вывод ls -l).

А если запустить по крону от имени того же пользователя, то получается такой вывод:
32302 Jan 10 06:13 /mnt/backup/VM/IPO_LIFE_DATE/10-01-2011/mnt/jaguar/Зорина МА/0582cc2723274e26bcbcb3c9477857e7.WAV  
342302 Jan 10 09:39 /mnt/backup/VM/IPO_LIFE_DATE/10-01-2011/mnt/jaguar/Новикова НК/6387b065e28c4b208aa8ddb5ebb3f90f.WAV  
340302 Jan 10 11:49 /mnt/backup/VM/IPO_LIFE_DATE/10-01-2011/mnt/jaguar/DMS/324a11e99e3343ff907592d9ead66ac1.WAV  
260302 Jan 10 10:09 /mnt/backup/VM/IPO_LIFE_DATE/10-01-2011/mnt/jaguar/DMS/455b1ccaa2b843b6938f9da3afb344fa.WAV  
4772302 Jan 10 13:14 /mnt/backup/VM/IPO_LIFE_DATE/10-01-2011/mnt/jaguar/DMS/d7bd19b036b248e7ba77a2f8bf2e4421.WAV

т.е. запись "2010-12-30" меняется на "Jan 10".

вывод locale:
LANG=ru_RU.UTF-8
LC_CTYPE=ru_RU.UTF-8
LC_NUMERIC=ru_RU.UTF-8
LC_TIME=ru_RU.UTF-8
LC_COLLATE=ru_RU.UTF-8
LC_MONETARY=ru_RU.UTF-8
LC_MESSAGES=ru_RU.UTF-8
LC_PAPER=ru_RU.UTF-8
LC_NAME=ru_RU.UTF-8
LC_ADDRESS=ru_RU.UTF-8
LC_TELEPHONE=ru_RU.UTF-8
LC_MEASUREMENT=ru_RU.UTF-8
LC_IDENTIFICATION=ru_RU.UTF-8
LC_ALL=

Собственно, вопрос, как, при запуске скрипта по крону добиться одинакового вывода даты, что и при запуске с консоли?

Ответить | Правка | Cообщить модератору

Оглавление

Сообщения по теме [Сортировка по времени | RSS]


1. "cron и локаль"  +/
Сообщение от Alting email(ok) on 11-Янв-11, 11:34 
>[оверквотинг удален]
> LC_MESSAGES=ru_RU.UTF-8
> LC_PAPER=ru_RU.UTF-8
> LC_NAME=ru_RU.UTF-8
> LC_ADDRESS=ru_RU.UTF-8
> LC_TELEPHONE=ru_RU.UTF-8
> LC_MEASUREMENT=ru_RU.UTF-8
> LC_IDENTIFICATION=ru_RU.UTF-8
> LC_ALL=
> Собственно, вопрос, как, при запуске скрипта по крону добиться одинакового вывода даты,
> что и при запуске с консоли?

Сорри, сам разобрался.

Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

2. "cron и локаль"  +/
Сообщение от JL2001 (ok) on 11-Янв-11, 12:10 
>>[оверквотинг удален]
>> LC_MEASUREMENT=ru_RU.UTF-8
>> LC_IDENTIFICATION=ru_RU.UTF-8
>> LC_ALL=
>> Собственно, вопрос, как, при запуске скрипта по крону добиться одинакового вывода даты,
>> что и при запуске с консоли?
> Сорри, сам разобрался.

а как сделали ?

Ответить | Правка | ^ к родителю #1 | Наверх | Cообщить модератору

3. "cron и локаль"  +/
Сообщение от Alting email(ok) on 11-Янв-11, 13:02 
>>>[оверквотинг удален]
>>> LC_MEASUREMENT=ru_RU.UTF-8
>>> LC_IDENTIFICATION=ru_RU.UTF-8
>>> LC_ALL=
>>> Собственно, вопрос, как, при запуске скрипта по крону добиться одинакового вывода даты,
>>> что и при запуске с консоли?
>> Сорри, сам разобрался.
> а как сделали ?

Да просто, посмотрел в вики какие переменные локали использует ls и тупо их заэкспортил в скрипте на нужные мне.

попробуйте в скрипте написать:
#!/bin/bash
export LC_ALL=ru_RU.UTF-8
export LC_CTYPE=ru_RU.UTF-8
export LC_NUMERIC=ru_RU.UTF-8
export LC__TIME=ru_RU.UTF-8
export LC_COLLATE=ru_RU.UTF-8
export LC_MONETARY=ru_RU.UTF-8
export LC_MESSAGES=ru_RU.UTF-8
export LC_PAPER=ru_RU.UTF-8
export LC_NAME=ru_RU.UTF-8
export LC_ADDRESS=ru_RU.UTF-8
export LC_TELEPHONE=ru_RU.UTF-8
export LC_MEASUREMENT=ru_RU.UTF-8
export LC_IDENTIFICATION=ru_RU.UTF-8
export LANG=ru_RU.UTF-8

echo LANG: $LANG
echo LC_ALL: $LC_ALL
echo LC_CTYPE: $LC_CTYPE
echo LC_MESSAGES: $LC_MESSAGES

ls -l > /tmp/ls

и посмотрите, что выдает ls:
cat /tmp/ls

Собственно сам ls использует те переменные, которые перечислены в echo

Ответить | Правка | ^ к родителю #2 | Наверх | Cообщить модератору

Архив | Удалить

Рекомендовать для помещения в FAQ | Индекс форумов | Темы | Пред. тема | След. тема




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2025 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру