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