Cron selalu berjalan dengan lingkungan yang sebagian besar kosong. HOME , LOGNAME , dan SHELL ditetapkan; dan PATH yang sangat terbatas . Oleh karena itu, disarankan untuk menggunakan jalur lengkap ke executable, dan mengekspor variabel apa pun yang Anda perlukan dalam skrip saat menggunakan cron .
Ada beberapa pendekatan yang dapat Anda gunakan untuk mengatur variabel lingkungan Anda di cron , tetapi semuanya sama dengan menyetelnya di skrip Anda.
Pendekatan 1:
Tetapkan setiap variabel yang Anda perlukan secara manual di skrip Anda.
Pendekatan 2:
Sumber profil Anda:
. $HOME/.bash_profile (atau . $HOME/.profile )
(Biasanya Anda akan menemukan bahwa file di atas akan bersumber dari file lain (mis. ~/.bashrc --> /etc/bashrc --> /etc/profile.d/* ) - jika tidak, Anda juga dapat mengambilnya.)
Pendekatan 3:
Simpan variabel lingkungan Anda ke file (jalankan sebagai pengguna yang diinginkan):
env > /path/to/my_env.sh
Kemudian impor melalui skrip cron Anda:
env - `cat /path/to/my_env.sh` /bin/sh
Pendekatan 4:
Dalam beberapa kasus, Anda dapat menyetel global cron variabel di /etc/default/cron . Namun, ada elemen risiko untuk ini, karena ini akan disetel untuk semua cron pekerjaan.