Chúng tôi có các kịch bản của thiên nhiên sau đây (trong cron)Có cách nào trong một kịch bản shell để tìm ra nơi đầu ra của nó được chuyển hướng?
someScript.sh > /tmp/cronlog/somescript.$(date +%Y%m%d).log 2>&1
Bây giờ là có một cách mà có trong someScript.sh
tôi có thể tìm ra những gì các tập tin đầu ra đã đi vào?
Tập lệnh gửi email kèm theo tóm tắt. Đồng thời tôi muốn đề cập đến rằng các chi tiết có thể được tìm thấy trong tập tin đầu ra như vậy và do đó - với trong email.
Tôi biết cấu trúc if [ -t 1 ]
để phát hiện stdout v.v ... nhưng cách lấy tên tệp đầu ra? Lưu ý rằng tôi muốn điều này là chung chung để một số người có thể thay đổi tệp đầu ra trong cron và tập lệnh không cần phải sửa đổi.
di chuyển phần email của quá trình để một kịch bản lệnh wrapper gọi 'someScript.sh', kiểm tra xem nó có chạy đúng không và sau đó gửi email được tạo thủ công thích hợp (thành công, cảnh báo hoặc lỗi). ELSE thiết lập một logFile var, export nó, thay thế tmp/... ở trên với $ logFile, dựa vào $ {logFile} bên trong kịch bản lệnh. Chúc may mắn. – shellter