Когда я выполняю скрипт в crontab, вывод выводится на другом языке

Я выполняю сценарий в crontab, который записывает журнал, когда я запускаю его от имени root,журнал написан на испанском языке.

Но когда я запускаю его в crontab, вывод на английском языке.

Есть ли способ запустить crontab с той же конфигурацией, что и при запуске от имени root?

1
задан 14 January 2022 в 08:58
1 ответ

У вас есть два возможных решения; можно написать сценарий-оболочку, который задает соответствующие переменные среды, а затем вызывает исходный сценарий cron. Если вы хотите, чтобы LANG - а это то, что я ожидаю, что вам нужно установить - был одинаковым для всех скриптов, вы просто определяете его в верхней части вашего crontab. Это объясняется в ответе Gerald Schneiderlinked Почему мой crontab не работает, и как я могу устранить его? , но не для LC_* или LANG. Вот как это сделать:

LANG=es_ES
*/15 */2 3 * * /opt/jobs/repeat-this.sh

В зависимости от того, что делает ваш скрипт, вам может потребоваться установить конкретные значения LC_*; или просто установите LC_ALL=es_ES.

LC_CTYPE, LC_NUMERIC, LC_TIME, LC_COLLATE, LC_MONETARY, LC_MESSAGES, LC_PAPER, LC_NAME, LC_ADDRESS, LC_TELEPHONE, LC_MEASUREMENT, LC_IDENTIFICATION, LC_ALL

1
ответ дан 14 January 2022 в 09:54

Теги

Похожие вопросы