คุณพูดว่าคุณต้องการเพียงการตอบสนอง "200 ตกลง" ในความคิดเห็น
wget -O /dev/null -o /dev/null example.com
ที่ช่วยให้การแก้ปัญหามีข้อได้เปรียบเพิ่มเติมบางกว่าพวก แนวคิดนี้ไม่ใช่การทิ้งเอาต์พุตในทางใดทางหนึ่ง แต่จะไม่สร้างเอาต์พุตใด ๆ เลย
การที่คุณต้องการเพียงการตอบสนองหมายถึงข้อมูลที่ดาวน์โหลดลงในไฟล์ในเครื่อง index.html ไม่จำเป็นต้องดาวน์โหลดตั้งแต่แรก
ในโปรโตคอล HTTP, คำสั่ง 'ได้รับ' ถูกใช้เพื่อดาวน์โหลดเอกสาร ในการเข้าถึงเอกสารในลักษณะที่ทำทุกอย่างยกเว้นการดาวน์โหลดเอกสารจริง ๆ มีคำสั่งพิเศษคือ 'HEAD'
เมื่อใช้ 'GET' สำหรับงานนี้เอกสารจะถูกดาวน์โหลดและทิ้งไว้ในเครื่อง การใช้ 'HEAD' ทำในสิ่งที่คุณต้องการไม่ได้ถ่ายโอนเอกสารตั้งแต่แรก มันจะส่งคืนรหัสผลลัพธ์เดียวกันกับ 'GET' ตามที่นิยามไว้
ไวยากรณ์ที่จะใช้วิธีการHEAD
ที่มีwget
เป็นเพียงเล็กน้อยแปลก: --spider
เราจำเป็นต้องใช้ตัวเลือก ในบริบทนี้มันทำสิ่งที่เราต้องการ - เข้าถึง URL ด้วย 'HEAD' แทนที่จะเป็น 'GET'
เราสามารถใช้ตัวเลือก-q
(เงียบ) เพื่อwget
ไม่ให้แสดงรายละเอียดเกี่ยวกับสิ่งที่มันทำ
การรวมนั้นwget
จะไม่ส่งออกสิ่งใดไปยัง stderr หรือบันทึกเอกสาร
wget -q --spider 'http://example.com/'
รหัสออกจะบอกเราว่าคำขอประสบความสำเร็จหรือไม่:
$ wget -q --spider 'http://example.com/'
$ echo $?
0
$ wget -q --spider 'http://example.com/nonexisting'
$ echo $?
8
สำหรับคำสั่งในcrontab
ข้อเท็จจริงที่ว่าไม่มีเอาต์พุตในทั้งสองกรณีหมายความว่าคุณสามารถใช้การรับเอาท์พุทเป็นตัวบ่งชี้ข้อผิดพลาดอีกครั้ง
คำสั่งตัวอย่างของคุณจะถูกเปลี่ยนเป็น:
*/5 * * * * wget -q --spider mysite.com
wget -O /dev/null -o /dev/null example.com
นี้มีข้อดีเช่นเดียวกับ ข้อดีเพิ่มเติมคือไม่ได้สร้างเอาท์พุทบันทึกและเอาท์พุทเอกสารแทนการสร้างและทิ้งในเครื่อง หรือแน่นอนความแตกต่างที่สำคัญคือการหลีกเลี่ยงการดาวน์โหลดแล้วทิ้งเอกสาร, index.html
.
wget
จากเทอร์มินัลและอย่างอื่นคือว่าแถบความคืบหน้าจะปรากฏขึ้นหรือไม่