Bash script không chạy trong cron nhưng chạy bằng dòng lệnh vẫn thành công - QuânSysAd's Blog

29 tháng 4 2022

Bash script không chạy trong cron nhưng chạy bằng dòng lệnh vẫn thành công

 Nguyên nhân là các biến môi trường trong cron không được thiết lập đúng. Nên sẽ không biết được các chương trình chạy trong file bash lấy ở đâu.

Cách đơn giản nhất không mất thời gian là trỏ thẳng chương trình trong file bash. Ví dụ thay vì chỉ ghi là `echo` thì sẽ ghi là `/usr/bin/echo`.

Ngoài ra nếu có thời gian nghiên cứu thêm hãy thêm. 2 dòng sau vào script (tùy theo thiết lập hệ thống của bạn)


```

SHELL=/bin/bash

PATH=/usr/local/bin

```

Lưu ý biến PATH có thể khác so với thực tế, bạn nên kiểm tra lại bằng lệnh `echo $PATH` để xem.

Không có nhận xét nào: