aracılığıyla başlatıldığında doğru çalışmaz Crontab ile otomatik olarak çalışması gereken bir Rake betiği yazdım. Komut, komut satırına yazıldığında iyi çalışır ancak doğru olarak cron içinde çalışmaz.Rake başlattığım Shell komut dosyası, cron
script şöyle:
#!/bin/sh
echo `date`
cd /home/mick/myapp/current
rake RAILS_ENV=production mynamespace:myaction
crontab ayarı şuna benzer:
10 0,6,12,18 * * * /home/mick/work/launch.sh >> /home/mick/work/launch.log
İdamdan sonra, günlük dosyası sadece tarih ancak başka hiçbir şey ve hata alıyorum syslog şuna benzer:
Mar 18 18:10:01 CRON[21773]: (mick) CMD (/home/mick/work/launch.sh >> /home/mick/work/launch.log)
Mar 18 18:10:01 CRON[21772]: (CRON) error (grandchild #21773 failed with exit status 127)
Mar 18 18:10:01 postfix/sendmail[21776]: fatal: open /etc/postfix/main.cf: No such file or directory
Mar 18 18:10:01 CRON[21772]: (mick) MAIL (mailed 1 byte of output; but got status 0x004b, #012)
DÜZENLEME:
@Holger Just adlı kullanıcının yorumuna, this link numaralı telefon numarasını kullanarak çalışma yazıyorum. İşte
tipik bir çok$PATH
kısıtlı sahiptir senaryoma
#!/usr/bin/env bash # UPDATED TO GET ACCESS TO 'source'
export PATH=blabla # NOT SURE THIS HELPED AS IT WAS MY FIRST MODIF AND DIDN'T FIX
source /home/mick/.rvm/environments/default # LOADING RVM TO MAKE THINGS WORK
echo `date`
cd /home/mick/myapp/current
rake RAILS_ENV=production mynamespace:myaction
Burada betiğe eklenen tüm ortam öğeleri, benzer bir sorunu gideremedi, ancak basit bir/overkill "source ~/.bash_profile" yaptı. – David