Điểm:0

Hiểu đầu ra của Cron

lá cờ us

Tôi đang gặp khó khăn trong việc hiểu đầu ra của cron. Giả sử tôi có một cronjob chạy cứ sau 5 phút:

*/5 * * * * root /home/user/Desktop/shell.sh

vỏ.sh có các nội dung sau:

#!/bin/bash
lặp lại "xin chào"
bash -i

Tôi có các câu hỏi sau:

  1. Công việc chạy ở đâu? Ví dụ. quy trình TTY mới có bắt đầu khi tập lệnh shell được chạy không?

  2. Đầu ra được gửi ở đâu? Tôi đã đọc rằng đầu ra được gửi đến thư của chủ sở hữu. Điều này có nghĩa là root nhận được một thư với tiếng vang bản tường trình?

  3. Vậy còn đánh đập chỉ huy? Tập lệnh có bắt đầu quá trình bash trong phiên cuối kiểm soát của nó vẫn chạy cho đến khi phiên cuối kết thúc (ở cuối tập lệnh không?)?

  4. Giả sử tôi đã đảo ngược mã trình bao trong tập lệnh bash ở trên và tôi chạy một nc người nghe trên máy tính của tôi. Điều này có nghĩa là cứ sau 5 phút tôi sẽ nhận được một kết nối sẽ đóng ngay khi tập lệnh chạy xong?

Xin lỗi cho nhiều câu hỏi. Tôi mới làm quen với thứ này. Cảm ơn.

Điểm:0
lá cờ de
ob2

crontab không hoạt động chính xác như Shell cổ điển.

  1. Công việc được chạy với quyền root, nhưng không có bất kỳ TTY nào. Lệnh được chạy trong một môi trường không tương tác, vì vậy bash -i có thể trả về lỗi hoặc chỉ đóng sau khi thực thi.

  2. Đầu ra thường được gửi qua đường bưu điện. Ubuntu thường được vận chuyển với một hệ thống thư rất tối thiểu được gọi là exim4. Hãy xem nếu tập tin /var/mail/<tên người dùng của bạn> tồn tại. Bạn có thể thử đọc thư với:

    thư -u <tên người dùng của bạn>
    
  3. Bởi vì tập lệnh của bạn bắt đầu bằng #!/bin/bash, đánh đập sẽ được sử dụng, nhưng điều này không chạy trong bất kỳ thiết bị đầu cuối nào. Trừ khi tập lệnh của bạn chứa vòng lặp, quá trình sẽ kết thúc ở cuối tập lệnh.

  4. Tôi không chắc mình hiểu trường hợp sử dụng với nc, nhưng nếu bạn chạy nc từ crontab để kết nối và gửi tin nhắn đến máy tính của bạn, ncđánh đập sẽ kết thúc ngay sau khi lệnh được thực hiện.

Jhon Doe avatar
lá cờ us
Xin chào Q.3 Tôi đã đề cập đến lệnh bash -i. Đối với Q.4, tôi không chạy trình nghe trong cron. Chỉ có shell đảo ngược đang chạy trong cron
lá cờ de
ob2
Tại sao bạn không mô tả những gì bạn đang cố gắng đạt được. Bạn đang tìm cách kiểm soát máy chủ bằng lệnh nc? Q3) bash -i sẽ không còn tác dụng nữa, như đã giải thích và cron không chạy trong trình bao tương tác. Câu hỏi 4) Tôi hiểu rằng trình nghe được chạy trên máy tính của bạn và lệnh nc được chạy trên máy khách và kết nối với máy tính của bạn sau mỗi 5 phút.
Jhon Doe avatar
lá cờ us
Cảm ơn đã trả lời. Vì vậy, tôi có nc -lvnp 8000 đang chạy trên máy tính A và giả sử trên máy tính B, tôi có một công việc định kỳ thực thi với quyền root. Nếu tôi nhập mã shell đảo ngược trong công việc định kỳ, liệu tôi có kết nối shell ngược cứ sau 5 phút kết thúc mỗi khi tập lệnh chạy xong không?
lá cờ de
ob2
Tôi không chắc mã shell đảo ngược sẽ hoạt động như thế nào, bạn đã thực hiện nó mà không cần cron bằng cách chạy các lệnh theo cách thủ công chưa?
Jhon Doe avatar
lá cờ us
Này, không sao đâu. Tôi quyết định hỏi một câu hỏi cụ thể hơn trên stackexchange bảo mật thông tin. Nhưng dù sao cũng cảm ơn câu trả lời của bạn.

Đă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.