Linux
ls cron 執行時的日期格式不同
在 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 中執行的所有腳本的環境,並可能以這種方式在其他腳本中引入錯誤。
保羅小號