Tôi có một ruby script đơn giản, hello.rb
:#/usr/bin/env ruby không tìm thấy trong cron
#!/usr/bin/env ruby
puts 'hello'
Nó chạy ok tại cửa sổ dòng lệnh:
# /usr/local/src/hello/hello.rb
hello
Tuy nhiên, nếu tôi đặt nó trong cron
:
* * * * * /usr/local/src/hello/hello.rb >> /usr/local/src/hello/hello.log 2>&1
có lỗi trong file log:
/usr/bin/env: ruby: No such file or directory
/usr/bin/env: ruby: No such file or directory
...
/usr/bin/env: ruby: No such file or directory
/usr/bin/env ruby
chạy ok tại dòng lệnh mặc dù:
# /usr/bin/env ruby -v
ruby 1.8.7 (2012-10-12 patchlevel 371) [i686-linux]
Làm thế nào để sửa lỗi env cho cron
?
Câu hỏi nào bạn vừa trả lời đúng. Nhưng các biến env đến từ crond, không phải hồ sơ người dùng của bạn. Đó là toàn bộ vấn đề. –
Tôi đã sử dụng '/ usr/local/bin/ruby .../hello.rb'. – ohho