Как запустить рубиновый скрипт в cron и заставить его загружать все «необходимые» драгоценные камни? Я сбрасывая этот рубиновый скрипт как подпроцесс в Python:Python/Ruby: cronjob wont load ruby gems?
!#/usr/bin/env python
...
def ruby_importdb(import_this):
if formatinput == 'nessus':
print '[+] importing the report to the database'
subprocess.Popen(["/usr/local/rvm/rubies/default/bin/ruby /scripts/nessus-xml2db.rb " + import_this],
shell=True, stdout=subprocess.PIPE, universal_newlines=True)
cronjob выглядит следующим образом:
51 11 * * * /scripts/nessus-export-scans-nes.py 2>&1 | logger
События в/вар/Журнал/сообщения показывают следующую ошибку, когда сценарий питона пробует выполнить функцию рубина подпроцесс:
root: /usr/local/rvm/rubies/ruby-2.2.1/lib/ruby/site_ruby/2.2.0/rubygems/core_ext/kernel_require.rb:54:in require': cannot load such file -- mysql (LoadError)
root: #011from /usr/local/rvm/rubies/ruby-2.2.1/lib/ruby/site_ruby/2.2.0/rubygems/core_ext/kernel_require.rb:54:in require'
root: #011from /scripts/nessus-report-database/nessus-xml2db.rb:3:in `<main>'
код работает найти, если я запускаю этот скрипт из моей учетной записи пользователя или корня.