Cách đánh thức máy chủ web IIS từ xa bằng cách sử dụng tập lệnh shell dd-wrt


1

Vấn đề:

Tôi có một số trang web asp.net được lưu trữ trên IIS (tại một công ty lưu trữ địa phương). Bây giờ nếu không ai truy cập chúng trong aprox. 20 phút, IIS sẽ chuyển sang chế độ ngủ, vì vậy yêu cầu tiếp theo đầu tiên sẽ đánh thức máy chủ nhưng sẽ mất một thời gian nên rất khó chịu cho người dùng.

Câu hỏi:

Làm cách nào để đánh thức các trang web của tôi bằng cách sử dụng tập lệnh từ dd-wrt của tôi?

Tôi đoán một số loại gửi yêu cầu HTTP mỗi X phút.

Tôi không có kiến ​​thức về kịch bản bash, nếu ai đó có thể giúp tôi, tôi sẽ rất hạnh phúc. Cảm ơn bạn

Lưu ý: Tôi không thể ghi đè lên cấu hình chính của IIS.


gì. Tại sao máy chủ sẽ đi ngủ?
Tombull89

Đây là một tính năng IIS để giải phóng các tài nguyên không sử dụng. Vì vậy, nó sẽ nhàn rỗi nếu không ai truy cập các trang web.
Cristian E.

Tôi cho rằng bạn đang tìm kiếm một cái gì đó phức tạp hơn một cronjob mà wget?
bgStack15

Thật không may, tôi không bắt đầu làm thế nào để sử dụng Cron. Nếu kết quả sẽ đạt được bằng mọi cách, nó thực sự không quan trọng bằng công cụ nào. Bạn có thể minh họa một mẫu?
Cristian E.

@Christian, đánh gục mình. Tôi đang phát triển trên bash / AIX, vì vậy tôi có thể không có tài nguyên chính xác mà môi trường dd-wrt (có lẽ là Linux) có.
bgStack15

Câu trả lời:


1

Dường như bạn muốn một cái gì đó sẽ thường xuyên truy cập trang web của bạn để giữ cho nó không ngủ. Điều này sẽ ảnh hưởng đến phân tích của bạn, nhưng ở đây đi:

keepitalive.sh

#!/bin/bash
# call this script with cronjob:
# 0,15,30,45 * * * * /home/username/keepsitealive.sh >/dev/null 2>&1
outdir=~/
cd $outdir
wget http://www.example.com/index.html
rm $outdir/index.html

Cronjob

Đối với mục nhập bằng cron (nếu bạn có quyền truy cập vào bộ định tuyến dd-wrt; không biết nhiều về những thứ đó), hãy sử dụng một cái gì đó như thế này:

0,15,30,45 * * * * /home/username/keepsitealive.sh >/dev/null 2>&1

Nếu bạn có thiết bị đầu cuối cho thiết bị (bao gồm vỏ tương tác ssh), bạn thường có thể chỉnh sửa cron bằng cách chạy như siêu người dùng crontab -e, nhưng điều đó có thể phụ thuộc một chút vào hương vị chính xác của Linux.

Một lời giải thích nhanh về cronjob tôi liệt kê ở đây cho bạn:

0,15,30,45    #minutes during each hour. So every 15 minutes.
* (first one) #every hour
*             #every day-of-month
*             #every month
*             #every day-of-week (usually not used when day-of-month is used, for example)
/home/user/keepitalive.sh #the command. Can be a series of shell commands and not just a script. Separate commands with a semicolon ; and keep them all on the same line.
> /dev/null   #after a command: redirects stdout to null-device (hides output) because if you don't, superuser will get emails and it's annoying.
2>&1          #sends stderr to same place as stdout, which you probably want pointing to /dev/null. This suppresses error messages from hitting superuser email.

Đối với hướng dẫn kỹ lưỡng bằng cách sử dụng cron, google nó. Đây là một liên kết để giúp bạn bắt đầu: http://www.unixgeek.org/security/newbie/unix/cron-1.html


Cảm ơn bạn đã phản hồi của bạn! Tôi sẽ thử ngay bây giờ!
Cristian E.

Ồ, nếu bạn chưa quen với kịch bản, v.v., bạn có thể không nhận ra ngay rằng bạn cần đặt cờ thực thi trên tệp. Là chủ sở hữu của tệp (hoặc siêu người dùng), chạy chmod 744 /home/user/keepitalive.shsẽ đặt cờ rwxr - r-- (r / w / thực thi) cho chủ sở hữu, nhóm chủ sở hữu, mọi người theo thứ tự đó.
bgStack15

Bạn có thể vui lòng giải thích rm $outdir/index.html, bạn đang cố xóa tệp index.html khỏi outdir? Nếu url là gì, hãy nói tên miền hàng đầu như example.com?
Cristian E.

Chà, tôi đã chọn chỉ định tệp nào vì tôi không biết mặc định cho trang web của bạn. Nếu bạn muốn nói http://yoursite.com/bạn sẽ cần biết trang chủ mặc định mà nó sẽ gửi cho tác nhân yêu cầu. Bạn có thể chỉ định bất cứ điều gì bạn muốn. Đặc biệt là khi bạn biết trang web của mình, hãy nói điều này để lấy bất kỳ trang hợp lệ hoặc bất kỳ trang nào bạn thích.
bgStack15

@Christian và lệnh rm chỉ dọn sạch tệp đã tải xuống, vì bạn không sử dụng nó trên thiết bị cục bộ (bộ định tuyến). Điều này sẽ giúp ngăn chặn sự lộn xộn và khả năng ghi đè (cố gắng ghi đè lên các tệp thường bị ngăn chặn và phát sinh thông báo lỗi).
bgStack15
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.