Я пытаюсь использовать метод, описанный здесь.

Мой crontab:

# m h  dom mon dow   command
@reboot /home/qe2user/.rvm/environments/ruby-1.9.3-p125 /home/qe2user/Ruby/test/prog.rb > /home/qe2user/Ruby/test/crondebug.log 2>&1

Моя рубиновая прога:

doit = true
while doit
    File.open('/home/qe2user/Ruby/test/test.txt','a') {|f| f.write(Time.now.to_s + "\n")}
    doit = false
end

вывод в crondebug.log:

/bin/sh: /home/qe2user/.rvm/environments/ruby-1.9.3-p125: Permission denied

Я выдал «chmod u+x prog.rb», затем снова перезагрузился, но получил те же результаты.

prog.rb, как он есть, записывает в файл, когда я просто запускаю его из командной строки.

Любая помощь будет принята с благодарностью.

1 ответ1

0

Вы выполняете файл /home/qe2user/.rvm/environments/ruby-1.9.3-p125 , а не /home/qe2user/Ruby/test/prog.rb .

Поэтому вы должны сделать первый исполняемый файл:

chmod u+x /home/qe2user/.rvm/environments/ruby-1.9.3-p125

Это, конечно, при условии, что ruby-1.9.3-p125 принадлежит пользователю crontab.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .