wget เพื่อ download เป็นเวลา

มีความต้องการดาวน์โหลดข้อมูลเป็นเวลาครับ เช่น
ทุกวันถึงเวลา สองทุ่ม ก็เริ่มดาวน์โหลด
ทุกวันถึง หกโมงเช้าก็ตัด

ใช้ wget ดาวน์โหลดลงที่ /download

ตั้ง crontab เอานะครับ โดยให้ตอนสองทุ่มเรียกสคริปต์สำหรับดาวน์โหลด โดยให้สคริปต์เขียน process id ไว้ด้วย (เช่น ที่ /var/run/download.pid หรือ ~/tmp/download.pid)

ส่วนหกโมงเช้า ก็ให้เรียกสคริปต์สำหรับ kill process โดยไปอ่าน pid จากไฟล์ที่เขียนไว้ แล้วก็ลบไฟล์ pid ทิ้งซะ

ตัวอย่างเช่น (ดัดแปลงเอานะครับ ผมยังไม่ได้ทดลองจริง):

$ crontab -e
0 20 * * *  banlue  echo $$ > /home/banlue/tmp/download.pid && exec wget -nv -o /home/banlue/tmp/wget-log -P /download -c http://...
0  6 * * *  banlue  [ -f /home/banlue/tmp/download.pid ] && kill `cat /home/banlue/tmp/download.pkd` && rm -f /home/banlue/tmp/download.pid

(สังเกต: อย่าลืม exec หน้า wget)

Creative Commons License ลิขสิทธิ์ของบทความเป็นของเจ้าของบทความแต่ละชิ้น
ผลงานนี้ ใช้สัญญาอนุญาตของครีเอทีฟคอมมอนส์แบบ แสดงที่มา-อนุญาตแบบเดียวกัน 3.0 ที่ยังไม่ได้ปรับแก้