В то время как расписание ниже, скрипт через crontab получает неправильный формат даты вывода, идет неправильно

PFB script
dd=$(perl -e 'use POSIX;print strftime "%Y%m%d",localtime time-172800;')

Date=$(perl -e 'use POSIX;print strftime "%d%m%Y",localtime time-172800;')

for i in `cat /path/Path_CDR.txt`
do
cd $i
compress event*$dd*.asn
compress event*$dd*.CDR
zcat event*$dd* |grep Event |awk -F "," '{print $14,$16}'|awk -F '"' '{print $2","$4","'$Date'}' >>/path/abc$Date.txt

done

Выход1: Скрипт, запускаемый вручную с использованием sh -x (имя сценария), выводится в формате, указанном ниже (Coorect)

07923243305,14,4112019
07923241717,44,4112019
07923224727,33,4112019
07923241717,10,4112019

, в то время как расписание на crontab выводится только в формате, указанном ниже. Проблема с форматом даты (выпуск даты 4.11202e + 06)

07923243305,14,4.11202e+06
07923241717,44,4.11202e+06
07923224727,33,4.11202e+06
07923241717,10,4.11202e+06

помогите мне с этим

0
задан 7 November 2019 в 10:57
1 ответ

скорее всего, переменные вашей локали не находятся в окружении cron.

проверьте значения LANG* и LC_* в вашей оболочке env и задайте их явно в начале вашего скрипта, например, у меня

[alex@alex ~]$ set | grep ^LANG
LANG=en_US.UTF-8
[alex@alex ~]$ set | grep ^LC_

поэтому я бы поставил

export LANG=en_US.UTF-8

в начало скрипта

.
0
ответ дан 5 December 2019 в 00:03

Теги

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