Điểm:0

Đầu ra tập lệnh Bash trên màn hình cũng vào tệp nhật ký

lá cờ cn

Tôi đã tạo một tập lệnh đơn giản thực hiện lệnh cuộn tròn (tôi chạy nó hàng tháng qua crontab) và tôi đã làm cho nó lặp lại thành tệp nhật ký có ngày chạy. Vấn đề là tôi cũng muốn nhận đầu ra tập lệnh shell vào tệp nhật ký và tôi chắc chắn rằng làm thế nào để đạt được điều đó. Đây là những gì tôi có:

#!/bin/bash
#
LOGFILE=/root/Delete-Old-Indices.log
Nhật ký #Nginx - Xóa cũ hơn 90 ngày
cuộn tròn -XDELETE XXXXXXXXXXXXXXXXXX
echo "$(date "+%d%m%Y %T") : Bắt đầu công việc" >> $LOGFILE 2>&1

vì vậy bây giờ tôi chỉ nhận được dòng nhật ký sau trong tệp nhật ký của mình: "Ngày + Giờ: Bắt đầu làm việc" và tôi không nhận được đầu ra tập lệnh trình bao trong tệp nhật ký của mình, tôi chỉ thấy nó trong cửa sổ trình bao của mình.

Cảm ơn bạn

pLumo avatar
lá cờ in
Điều này có trả lời câu hỏi của bạn không? [Làm cách nào để chuyển hướng đầu ra sang màn hình cũng như tệp?](https://askubuntu.com/questions/38126/how-to-redirect-output-to-screen-as-well-as-a-file)
bac0n avatar
lá cờ cn
`printf '%(%d%m%Y %T)T : %s\n' -1 "Starting work"` nếu bạn định in một chuỗi thời gian thì `printf` là lựa chọn tốt hơn.
Điểm:3
lá cờ cn

Bạn có thể chuyển hướng bất kỳ đầu ra nào sang tệp nhật ký theo cách bạn đã làm cho tiếng vang lệnh, tức là, sử dụng >> biểu tượng chuyển hướng.

Điều đó sẽ khiến không có đầu ra nào được hiển thị trên màn hình nữa. Nếu bạn cũng muốn xem đầu ra, bạn có thể sử dụng phát bóng với -một hoặc --chắp thêm tùy chọn, như

cuộn tròn -XDELETE XXXXXXXXXXXXXXXXXX | tee -a $LOGFILE

Điều này chuyển hướng cả đến tệp (nối thêm vào những gì đã có ở đó) và màn hình.

Nếu điều bạn muốn là thu thập tất cả đầu ra từ tập lệnh vào tệp nhật ký, thì chỉ cần chuyển hướng đầu ra trong khi gọi tập lệnh shell. Trong chính tập lệnh, sau đó bạn sẽ xóa tất cả chuyển hướng.

lá cờ ar
Tôi định đề xuất sử dụng ký hiệu chuyển hướng `>>` trong dòng `crontab` với tập lệnh bash, nhưng tôi thích giải pháp này hơn.
vanadium avatar
lá cờ cn
@ user68186 bạn nói đúng và đó có lẽ là điều người dùng muốn trong trường hợp cụ thể này: chạy từ tab cron, người ta không bao giờ nhìn thấy đầu ra màn hình. Đã thêm phần này vào câu trả lời

Đăng câu trả lời

Hầu hết mọi người không hiểu rằng việc đặt nhiều câu hỏi sẽ mở ra cơ hội học hỏi và cải thiện mối quan hệ giữa các cá nhân. Ví dụ, trong các nghiên cứu của Alison, mặc dù mọi người có thể nhớ chính xác có bao nhiêu câu hỏi đã được đặt ra trong các cuộc trò chuyện của họ, nhưng họ không trực giác nhận ra mối liên hệ giữa câu hỏi và sự yêu thích. Qua bốn nghiên cứu, trong đó những người tham gia tự tham gia vào các cuộc trò chuyện hoặc đọc bản ghi lại các cuộc trò chuyện của người khác, mọi người có xu hướng không nhận ra rằng việc đặt câu hỏi sẽ ảnh hưởng—hoặc đã ảnh hưởng—mức độ thân thiện giữa những người đối thoại.