
Я пытаюсь использовать описанный метод.здесь.
Мой кронтаб:
# 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
Моя программа на Ruby:
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
Файл, который вы запускаете, — это /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.