หัวข้อ: [Howto] Cron ตั้งง่ายๆ ถ้ารู้วิธี เริ่มหัวข้อโดย: EThaiZone ที่ 18 มิถุนายน 2008, 17:52:09 สำหรับหลายคนที่ใช้ Cron job หรือ Crontab (จะเรียกอะไรก็ตามสะดวก)
มันไว้ใช้รันคำสั่งที่คุณอยากให้รันตามเวลาต้องการ เทียบกับวินโดวน์ก็คือ Scheduled Tasks นะครับ หลักการเดียวกันเลย วิธีการตั้งมีไม่ยากครับ โครงสร้างของมัน ปกติจะอยู่ลักษณะนี้ โค๊ด: [min] [hour] [day of month] [month] [day of week] [program to be run] คำอธิบาย: [min] คือนาที ค่าที่ใส่ได้ คือ 0-59 และ * ที่หมายถึงทุกๆ นาที ซึ่งห้ามใส่ * ในช่องนี้เ้ป็นอันขาด ไม่งั้นมันรันทุกๆ นาที (แดร็กระบบ) [hour] คือชั่วโมง ค่าที่ใส่ได้คือ 0-23 และ * ที่หมายถึงทุกๆ ชั่วโมง ---> ทั้งชั่วโมงและนาที แนะนำให้ใส่ 0 ในกรณีไม่อยากใส่อะไร เช่นอยากตั้งเป็นรันทุกๆ วัน จะได้เป็นการรันตอนเที่ยงคืน (คนน้อย) หรืออาจปรับเป็นตี 1 ตี 2 ตามสมควร [day of month] คือวันที่ ค่าที่ใส่ได้คือ 1-31 และ * ที่หมายถึงทุกๆ วันของเดือน (ยังกะประจำเดือน) [month] คือเดือน ค่าที่ใส่ได้คือ 1-12 และ * ที่หมายถึงทุกๆ เดือน [day of week] คือวันของสัปดาห์ ค่าที่ใส่ได้คือ 0-6 วันอาทิตย์คือ 0 วันจันทร์คือ 1 ไล่ไปถึงวันเสาร์ึิคือ 6 และ * ที่หมายถึงทุกๆ วันของสัปดาห์ [program to be run] คือพาทหรือคำสั่งที่เราต้องการรัน วิธีการใส่ ก็จะมีใส่ตามวิธีเหล่านี้ 1. ระบุเวลาที่ต้องการตายตัวเลย เช่น อยากรันทุกๆ 6:00 ของทุกวัน ก็จะเป็น 0 6 * * * your command 2. ระบุช่วงเวลาที่ต้องการเป็นช่วงๆ เช่น อยากรันตั้งแต่วันจันทร์ถึงวันพุธ ก็จะเป็น 0 0 * * 1-3 your command 3. ระบุช่วงเวลาที่ต้องการเป็นหน่วยย่อยๆ เช่น อยากรันทุกๆ วันที่ 1 5 7 9 และ 11 ก็จะเป็น 0 0 1,5,7,9,11 * * your command 4. ระบุช่วงเวลาเป็น ทุกๆ กี่ x เช่น อยากรันทุกๆ 4 ชั่วโมง ก็จะเป็น 0 */4 * * * your command ประมาณตามนี้นะครับ หวังว่าจะช่วยได้ไม่มากก็น้อย ::) แหล่งอ้างอิง: โค๊ด: http://www.scrounge.org/linux/cron.html ---------------------------------------------- จากที่คุณ ball6847 พูดมานะครับ ขออัพเดตเรื่อง Command line ที่จำเป็นต้องใช้กัน ::) เน้นที่มีการพูดถึงนะครับ 1. PHP ปกติจะมีการใช้ลักษณะนี้ โค๊ด: php -q /path/to/your/code.php หลายคนคงสงสัยว่า -q คืออะไร ให้คิดซะว่ามันมาจากคำว่า Quiet Mode ครับ เป็นการรันแบบเงียบว่างั้น (ลองค้นกูเกิ้ลเพิ่มดููล่ะกัน เดียวหาว่ากำปั้นทุบดิน - -*) 2. CURL อันนี้ผมไม่เคยใช้ แต่ก็สรุปการใช้งานเป็นกรณี ดึงไฟล์มาเซฟลงเครื่องล่ะกัน โค๊ด: curl http://website.com -o "/path/to/file.txt" สมมุติิีกรณีคือ เรียกหลายเว็บไซต์ ลงไฟล์หลายไฟล์และมีชื่อต่างกัน โค๊ด: curl http://{google,yahoo}.com -o "/path/to/file_#1.txt" อีกกรณีเช่น ผมอยากเซฟไฟล์ไล่ตั้งแต่เลข 1 ถึง 10 โค๊ด: curl http://website.com/page_[1-10].html -o "/path/to/file_#1.txt" และกรณีสุดท้ายของ curl ใช้ร่วมกันมากกว่า 1 โค๊ด: curl http://{one,two}.website.com/page_[1-10].html -o "/path/to/file_#1_#2.txt" ส่วน WGET ผมไม่ขอพูดถึงล่ะกัน จริงๆ ก็ใช้งานเพื่อดึงไฟล์เหมือนกัน ที่ไม่พูดเพราะ... ขี้เกียจแล้วอะ :P หัวข้อ: Re: [Howto] Cron ตั้งง่ายๆ ถ้ารู้วิธี เริ่มหัวข้อโดย: Dj.wayne_Gum ที่ 18 มิถุนายน 2008, 18:07:46 ขอบคุณไว้ก่อนครับ
ยังใช้ไม่เป็น หัวข้อ: Re: [Howto] Cron ตั้งง่ายๆ ถ้ารู้วิธี เริ่มหัวข้อโดย: makoto ที่ 18 มิถุนายน 2008, 18:11:54 ขอบคุณมากเลยครับ จะได้ไม่ต้องไปตั้งใน control panel แล้วเพราะมันไม่ให้ตั้ง :D
หัวข้อ: Re: [Howto] Cron ตั้งง่ายๆ ถ้ารู้วิธี เริ่มหัวข้อโดย: News-Master ที่ 18 มิถุนายน 2008, 18:15:31 ขอบคุณครับ ได้ความรู้เพิ่มอีกแล้ว
หัวข้อ: Re: [Howto] Cron ตั้งง่ายๆ ถ้ารู้วิธี เริ่มหัวข้อโดย: ball6847 ที่ 18 มิถุนายน 2008, 18:27:25 ผมว่าที่หลายๆคนไม่รู้่คือตรง command line มากกว่าอ่ะ (ผมก็ไม่ค่อยรู้เหมือนกัน)
ผมมีอยู่เว็บนึง จะเปิดอ้างอิงเวลาจะใส่ cmdline Linux Command Reference (http://www.perpetualpc.net/srtd_commands_rev.html) ที่ใช้บ่อยใน cronjob ก็จะเป็น PHP ,WGET และก็ CURL WGET รู้สึกจะมีกับ linux อยู่แล้วมั้ง => WGET Command Reference (http://www.perpetualpc.net/srtd_wget.html) ส่วน PHP Command (http://th.php.net/features.commandline) และก็ Curl Command (http://linux.about.com/od/commands/l/blcmdl1_curl.htm) หัวข้อ: Re: [Howto] Cron ตั้งง่ายๆ ถ้ารู้วิธี เริ่มหัวข้อโดย: kornss ที่ 18 มิถุนายน 2008, 19:19:45 ชอบครับ ความรู้ :)
อ้างถึง ผมว่าที่หลายๆคนไม่รู้่คือตรง command line มากกว่าอ่ะ (ผมก็ไม่ค่อยรู้เหมือนกัน) ผมด้วย อีกคน :P หัวข้อ: Re: [Howto] Cron ตั้งง่ายๆ ถ้ารู้วิธี เริ่มหัวข้อโดย: pakyaudio ที่ 18 มิถุนายน 2008, 19:31:51 อืม ได้ ความรู้อีกอย่างหนึ่ง ขอบคุณครับ เมื่อก่อนไม่รู้ตั้งแบบ มั่ว ๆ โปรแกรมส่งเมล์ กลับมาที่ server บานเลย ก็เลยรู้ อ๋อ ถึงรู้ว่าต้องใช้งานอย่างไร
หัวข้อ: Re: [Howto] Cron ตั้งง่ายๆ ถ้ารู้วิธี เริ่มหัวข้อโดย: toei ที่ 24 สิงหาคม 2010, 13:58:42 ขอบคุณหลายๆ
หัวข้อ: Re: [Howto] Cron ตั้งง่ายๆ ถ้ารู้วิธี เริ่มหัวข้อโดย: tonnant ที่ 24 สิงหาคม 2011, 12:04:07 ขอขุดนิดนึงครับ
ไอ้ตรง php -q /path/to/your/code.php ใส่ในไฟล์ php ได้เลยหรอครับ ไม่ต้องไปตั้งใน cp ใช่มั้ยครับ หัวข้อ: Re: [Howto] Cron ตั้งง่ายๆ ถ้ารู้วิธี เริ่มหัวข้อโดย: brankal ที่ 24 สิงหาคม 2011, 12:16:38 ขอบคุณครับ เก็บความรู้เพิ่ม
|