Bằng cách bắt đầu với #!/bin/sh -e
, bạn làm cho tập lệnh của mình chạy với sh
(đánh đập
IMHO tốt hơn), và -e
thoát trên bất kỳ lỗi nào (người đàn ông đặt
), vì vậy người ta không thể xử lý lỗi. Tập lệnh của bạn bị lỗi và cron
đang cố gắng gửi nhật ký qua email cho bạn. cron
không thể tìm thấy Tác nhân chuyển thư (MTA). Email chưa được định cấu hình trên hệ thống của bạn, ngay cả khi gửi đến địa phương.
Công việc chạy qua cron
, hoặc hệ thống
tập lệnh khởi động không chạy trong cùng một môi trường thời gian chạy mà bạn có trên máy tính để bàn của mình. hệ thống
kịch bản khởi động được chạy như nguồn gốc
. Không ai trong số bạn CON ĐƯỜNG
thay đổi hoặc cài đặt biến môi trường khác từ ~/.bashrc
được tự động lan truyền đến bạn cron
Công việc. Ví dụ, không có $HIỂN THỊ
, vì vậy các chương trình GUI cần được xử lý đặc biệt (đọc người đàn ông xhost
).
Người ta có thể đặt các biến môi trường cho tất cả mọi người cron
công việc trong crontab
tập tin
Đọc người đàn ông 5 crontab
.
Nhìn vào kết quả của echo "=== id ==="; id;echo "=== set ==="; set; echo "=== env ==="; env | sort;echo "=== bí danh ==="; bí danh
trong mỗi môi trường của bạn.
Kể từ khi chỉ huy
một phần của crontab
theo mặc định, dòng được giải thích bởi /bin/sh
, có cú pháp đơn giản hơn /bin/bash
, tôi khuyên bạn nên có chỉ huy
là một cuộc gọi đến một đánh đập
tập lệnh (có thể thực thi, được gắn kết, bắt đầu bằng #!/bin/bash
) thiết lập môi trường, sau đó gọi chương trình mong muốn.