Назад | Перейти на главную страницу

ls форматы датируются по-разному при запуске cron

В FC10 ls выводит даты в формате «ГГГГ-ММ-ДД ЧЧ: ММ» при вызове из командной строки или сценария. При вызове cron даты отображаются в формате «Пн ДД ЧЧ: ММ».

Что дает? почему изменение? Я проверил env и alias, и явно ничего не отличалось между оболочкой и cron.

Я знаю два способа исправить это, по крайней мере, в Ubuntu Lucid.

Добавьте эту строку вверху файла crontab.

LC_TIME="en_US.UTF-8"

Или укажите формат времени для ls -l в вашем скрипте.

ls -l --time-style=long-iso

Мне нравится второй способ, потому что он делает сам сценарий более переносимым. Кроме того, каждый раз, когда вы изменяете среду для crontab, вы изменяете среду для всех скриптов, запущенных в этом crontab, и, возможно, таким образом вносите ошибки в другие скрипты.

Пол С

Формат даты зависит от ваших настроек локали ($ LC_TIME, $ LC_ALL, $ LANG).

Другая возможность --time-style вариант. Это может быть указано, например, где-то в псевдонимах для одного из пользователей, того, кто запускает задачи cron, или того, кто запускает скрипт из командной строки.