改成這樣:
<pre class="c" name="code">*/1 * * * * root /root/moodle-cron.sh > /var/log/moodle-cron.log 2>&1
然後過一分鐘後去看 /var/log/moodle-cron.log 寫了啥
另外這是 /etc/crontab 或是 /etc/cron.d 裡面用的語法
也要確認你不是用 crontab -e 這個指令去編輯, 不然格式有點差別
我的確是用crontab -u apache -e 來編輯的,會有格式上的差異嗎?謝謝
格式的差別在於那個 "root", 用 crontab -e 編輯的話就不能加
crontab -e 編輯的是 user 層級的 cronjob, 所以它已經有綁定使用者了
所以你的 "root" 會被當成一個指令, 結果就是找不到這個指令
/etc/crontab 或是 /etc/cron.d 裡面放的是系統層級的 cronjob
這裡面的才需要加上使用者帳號
你從 FreeBSD 抄來的嗎?CentOS 不需要加身份吧?請把前面那個 root 拿掉,並且確定 /root/moodle-cron.sh 的屬性是 0700。
<pre class="c" name="code">*/1 * * * * /root/moodle-cron.sh > /var/log/moodle-cron.log 2>&1
或
<pre class="c" name="code">*/1 * * * * /bin/bash /root/moodle-cron.sh > /var/log/moodle-cron.log 2>&1