crontab บน linux

  • warning: realpath() [function.realpath]: SAFE MODE Restriction in effect. The script whose uid is 1005 is not allowed to access /tmp owned by uid 0 in /var/www/sites/sugree/codenone.com/subdomains/www/html/includes/file.inc on line 190.
  • warning: realpath() [function.realpath]: SAFE MODE Restriction in effect. The script whose uid is 1005 is not allowed to access /tmp owned by uid 0 in /var/www/sites/sugree/codenone.com/subdomains/www/html/includes/file.inc on line 190.

คือเพิ่งจะเิริ่มใช้งาน linux นะครับ
แล้วผมต้องการให้มันทำงานรันงานให้ผมครับ ผมทำดังนี้
- logon: root
- เข้าำไปที่ folder: home
- สร้าง folder : my
- เข้าไปที่ my
- copy file test.php มาไว้
- ใช้คำสั่ง crontab -l
- ไม่ปรากฏข้อมูลอะไร(โปรแกรมบอกว่าไม่มี crontab)
- ใช้คำสั่ง crontab -e
- เพิ่มคำสั่งดังนี้
MAILTO ="my@ll.com"
40 14 * * * * php -q /home/my/test.php
- แล้วใช้งานคำสัั่ง shift :wq enter
- ระบบแจ้ง error ว่า:
crontab: installing new crontab
"/tmp/crontab.xxxxx8sdt":3: bad
command errors in crontab file,
can't install.
Do you want to retry the same edit?

คือผมต้องการให้สั่งรันงาน ทุกวัน เวลา 14.40 น.
ผมไม่เข้าใจนะครับว่าทำไม่ได้ ผมจะเคยใช้งานlinux ครั้งนี้ครั้งแรกเลยครับ
แบบเข้ามาใช้งานคำสั่งเองนะครับ ส่วนใหญ่ให้เขาตั้งให้นะครับ

----------------
LINUX : centos

PaePae's picture

40 14 * * * * php -q /home/my/test.php

^
^
เหมือน * เกินไปอันนึงหรือเปล่า ?
- minute
- hour
- day of month
- month
- day of week

khao_lek's picture

ขอบคุณที่ชี้ทางส่วาง ผมหาตั้งนาน ตกลงเป็นเพราะผมไม่มีสติเอง 5555

khao_lek's picture

ตอนนี้ผมเจอปัญหากับตัว crontab นะครับ คือว่าตั้งเวลาให้รันได้แล้ว แต่ว่ามันรันไป 2 - 3วัน
มันก็หยุดไปเฉยๆ เลย แล้วก็มาำทำงานใหม่ เหมือนกับมันกระโดดข้ามไปนะครับ
เลยอยากสอบถามว่า กรณีที่ crontab จะหยุดทำงานนั้นมีมาจากกรณีใดได้บ้างครับ
แล้วเราจะตรวจสอบได้อย่างไรว่ามันหยุดทำงานจากกรณีใดนะครับ

sugree's picture

ลองดูใน mail แล้วก็ใน log ส่วนใหญ่จะเป็นปัญหาที่โปรแกรมมากกว่า

khao_lek's picture

ขอบคุณครับ ตอนนี้เจอแล้วครับ เป็นที่โปรแกรมจริงๆ ด้วยครับ

khao_lek's picture

วันนี้เป็นอีกแล้วครับ ลองมาสั่งรันเอง ก็ปกติดีทุกอย่างนะครับ ได้ผลลัพธ์ตามที่สั่งครับ
แต่ทำไม crontab ถึงไม่รันไม่รู้คับ อ้อตัว mail บน linux ของผม เขาจะไม่ได้เปิดนะครับ
(mail ของคุณ sugree ในที่นี้คือ mail ที่ตอน crontab รันจะส่ง mail ตัวนี้ออกมาใช่ไหมคับ)

sugree's picture

MAILTO="my@ll.com"

เป็นไปได้ว่า env ไม่เหมือนกัน

khao_lek's picture

crontab ยังไม่ยอมรันเลยครับ
ลองรันเอง แบบนี้
>>> PHP /home/user/test.php
ก็ไม่มีปัญหาเหมือนเคย ทำทุกอย่างที่เขียนไว้ใน test.php ครับ
แต่ทำไมใน crontab ไม่รัน ผมไม่รู้จะหาวิธีตรวจสอบอย่างไรดีครับ
ในcrontab ผมสั่งดังนี้
1 02 * * * php -q /home/user/test.php
งงจริง ๆ ความรู้linux ก็งูๆ ปลาๆ นะครับ

sugree's picture

มีอะไรใน log มั๊ยครับ

khao_lek's picture

ใน log ไม่มีอะไรที่ผิดปกติครับ พอดีผมเพิ่งเจออีกอย่างคือ
ตอนผมแก้ไข ผมจะใช้คำสั่งนี้นะครับ
>>> crontab -e
แต่ตอนนี้ผมลองใหม่ โดยใช้คำสั่งนี้
>>> crontab -e -i
นะครับ ลองดูแล้วมันก็รันได้ แต่คงต้องรอดูพรุ่งนี้อีกทีครับ
ขอบคุณคุณ sugree มากนะครับ

ย้าย Codenone

ประกาศย้าย Codenone ไปใช้ Forum ของ Blognone แทนครับ ตามไปตั้งกระทู้ต่อได้ที่ Codenone Forum (รายละเอียดอ่านจากกระทู้ ย้าย Codenone ไปรวมกับ Blognone)

กระทู้เก่าๆ จะย้ายตามไปในภายหลัง ตอนนี้ปิดการโพสต์กระทู้ไว้ เหลือไว้เฉพาะอ้างอิงเท่านั้น