วิธีการเริ่มบริการในแต่ละชั่วโมงในการพุ่งพรวด?


2

ฉันมีบริการพุ่งพรวดที่กำหนดเป็น:

/etc/init/sshproxy.conf

description    "Lenik's secret tunnel thru *.ssh.myserver.com"
author        "谢继雷 (Lenik)"

start on (net-device-up IFACE!=lo)
stop on runlevel[!2345]

script

    # -T disable pseudo-tty allocation
    # -f go to background after login but before command exec
    # -n stdin from /dev/null, must be used when ssh is run in bg.
    # -N no command
    # -D "dynamic" app-level port forwarding.
    sudo -usshproxy ssh -qTfn -ND *:7878 ssh.myserver.com

end script

แต่อุโมงค์ ssh ดูเหมือนจะเป็นซอมบี้หลังจากผ่านไปหลายชั่วโมงดังนั้นฉันต้องการเริ่มต้นใหม่ทุก ๆ ชั่วโมงวิธีทำภายในไฟล์. config นี้หรือฉันควรเขียน cron.hourly อีกงานหนึ่งหรือไม่

คำตอบ:


2

แทนที่จะรีสตาร์ทบริการตามช่วงเวลาที่กำหนดคุณสามารถเริ่มบริการใหม่ได้เมื่อการเชื่อมต่อขาดหาย ผ่านServerAliveIntervalตัวเลือกเพื่อให้ ssh ตรวจจับการเชื่อมต่อที่เสียหายเร็วขึ้น ใช้respawnคำสั่งในสคริปต์ Upstart เพื่อให้อุโมงค์เริ่มต้นใหม่โดยอัตโนมัติ หรือใช้โปรแกรมเริ่มต้นใหม่ SSH อุโมงค์เช่นautossh


ข้อมูลดีเยี่ยม!
XièJìléi

5

ในขณะที่ "เหตุการณ์ที่เกิดขึ้นตามช่วงเวลาที่กำหนด" เป็นคุณสมบัติตามแผนในการพุ่งพรวด แต่ยังไม่พร้อมที่จะให้บริการ ดังนั้นคุณควรเขียนสคริปต์แบบนี้:

#!/bin/sh
service sshproxy restart 

และใส่ลงใน/etc/cron.hourlyโฟลเดอร์ อย่าลืมตั้งบิตเรียกทำงาน ( chmod +x /etc/cron.hourly/whatever.sh) ไม่เช่นนั้นจะไม่เริ่มทำงาน


สคริปต์ cron ของผู้ใช้ทำงานในsudoโหมดหรือไม่?
XièJìléi

ไม่พวกเขาจะถูกเรียกใช้ในฐานะผู้ใช้ที่พวกเขาอยู่เช่นว่าคุณจะโทรหาพวกเขาด้วยตนเองจากสถานีเมื่อเข้าสู่ระบบในฐานะผู้ใช้นั้น
whitequark

ชอบที่สุดของการพุ่งพรวดมันเป็นคุณสมบัติที่วางแผนไว้ มันเป็นความคิดที่เจ๋งมาก แต่ยังไม่ได้นำไปใช้จริง
Tim Williscroft

@Tim ปัจจุบัน Upstart ได้เข้ามาแทนที่initและคุณสมบัติทั้งหมดที่วางแผนไว้คือแทนที่ Unix daemons อื่น ๆ
whitequark

นอกจากนี้คุณยังสามารถใส่ initctl ปล่อย a_custom_event เป็น cron และเพิ่มหรือ a_custom_event ไปที่จุดเริ่มต้นออนไลน์ในงานพุ่งพรวด
nafg
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.