Bagaimana cara mengganti cron shell (sh to bash)?


70

Apakah mungkin membuat perintah di crontab dijalankan dengan bash, bukan sh? Saya tahu Anda bisa memberikan perintah untuk di-bash -c, tapi itu menjengkelkan dan saya tidak pernah menggunakan sh.


tidak benar-benar tahu apa yang Anda lakukan (tidak terbiasa dengan cron) tetapi jika Anda menjalankan skrip kemudian menambahkan shebang ke dalamnya harus berfungsi, tidak yakin apakah saya benar.
Alvin Wong

Jawaban:


103

Anda harus dapat mengatur variabel lingkungan sebelum menjalankan tugas cron:

SHELL=/bin/bash
5 0 * * *       $HOME/bin/daily.job >> $HOME/tmp/out 2>&1

2
apakah mungkin juga membuatnya membaca .bashrc?
Fluffy

3
@Fluffy .bashrcadalah - menurut definisi - untuk shell interaktif ; jadi ketika mulai cron, bashhanya akan membaca file ini jika itu adalah shell interaktif .
umläute

18
Saya bisa membuatnya membaca bashrc dengan menambahkan BASH_ENV="/root/.bashrc". Terima kasih
Fluffy

2
@Fluffy Anda harus menjawabnya
vol7ron

2
Mengenai .bashrc, bash -lterlihat bermanfaat, blog.endpoint.com/2015/02/cron-wrapper-keep-your-cron-jobs.html
mpapec
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.