Сколько раз уже создавались темы про Cron и в 99% случаев ответ один - переменные. Переменные окружения влияются на выполнение программ, в том числе и на формат вывода.
Например,
вывод ls -l в терминале (т.е. с переменной LANG=ru_RU.utf8):
-rw-r--r-- 1 vitsliputsli vitsliputsli 32 2012-12-17 16:51 1.csv
а это вывод ls -l в CRON (без переменной LANG, т.е. аналогично LANG=c):
-rw-r--r-- 1 vitsliputsli vitsliputsli 32 Dec 17 16:51 1.csv
Так что либо разбираться с переменными, либо проще всего и правильнее заменить это:
ls -l $ZM_EVENTS_DIR/ | awk '{ print $8 }'
на
ls -C1 $ZM_EVENTS_DIR/