Странный Cron ls Поведение - PullRequest
       16

Странный Cron ls Поведение

1 голос
/ 25 марта 2010

У меня есть скрипт Python, который выполняет несколько команд ls. Этот скрипт работает под cron весь день. Я использую awk для записи столбца, в котором находится имя файла при выполнении ls -l.

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

-rw-rw---- 1 mysql adm       141 2010-03-25 08:56 mysql-bin.000485
-rw-rw---- 1 mysql adm       141 2010-03-25 09:01 mysql-bin.000486
-rw-rw---- 1 mysql adm      5073 2010-03-25 09:31 mysql-bin.000487

но когда я запускаю scrupt под cron от имени root, вывод будет выглядеть так

-rw-rw---- 1 mysql adm       141 Mar 25 10:07 mysql-bin.000488
-rw-rw---- 1 mysql adm       141 Mar 25 10:22 mysql-bin.000489
-rw-rw---- 1 mysql adm        98 Mar 25 10:22 mysql-bin.000490

Это заставляет awk возвращать неправильный столбец. Есть ли способ получить такую ​​же дату в cron?

Ответы [ 2 ]

3 голосов
/ 25 марта 2010

Если вы используете GNU ls, вы можете передать --time-style=long-iso. Больше форматов здесь .

3 голосов
/ 25 марта 2010

Проблема в разных локалях между вашей учетной записью и root. Вы можете временно изменить их:

$ LC_ALL="locale name" your-script
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...