/dev/random

Home for some random notes.

cron 排程裡面的陷阱

簡單紀錄一下在 Ubuntu 上使用 cron job 時遇上的奇怪問題。

crontab 裡面 $USER 這變數是空的

為了幫透過不同使用者帳號 UserA, UserB, UserC 所執行的程式留下紀錄檔,用上了下面這種寫法:

0    */8    *    *    *    python3 $HOME/script.py 2>&1 | tee /tmp/cron-$USER.log

實際執行發現會 /tmp/ 下找不到本來預期該出現的 cron-UserA.log 等檔案。

要解決這問題得在那串指令前面加上 USER=whoami 即可

Reference: Access $USER Environment Variable in a Cron Triggered Script in Ubuntu