Linux

ls cron 執行時的日期格式不同

  • January 6, 2012

在 FC10 中,當命令行或腳本呼叫時,ls 以 ‘YYYY-MM-DD HH:MM’ 格式輸出日期。當被 cron 呼叫時,日期格式為“Mon DD HH:MM”。

是什麼賦予了?為什麼改變?我檢查了 env 和 alias,shell 和 cron 之間沒有明顯不同。

日期格式取決於您的區域設置( $ LC_TIME, $ LC_ALL,$LANG)。

我知道有兩種方法可以解決這個問題,至少在 Ubuntu Lucid 中是這樣。

在 crontab 文件的頂部添加這一行。

LC_TIME="en_US.UTF-8"

或者在腳本中指定 ls -l 的時間格式。

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

我喜歡第二種方式,因為它使腳本本身更具可移植性。此外,每次修改 crontab 的環境時,都會修改在該 crontab 中執行的所有腳本的環境,並可能以這種方式在其他腳本中引入錯誤。

保羅小號

引用自:https://serverfault.com/questions/156549