2

Я пытаюсь запустить скрипт резервного копирования в Ubuntu. Моя проблема в том, что я пытаюсь сделать это, используя учетную запись пользователя postgres, которую я настроил в Ubuntu. Я считаю, что лучше всего использовать эту учетную запись для заданий cron, потому что это скорее обычная учетная запись, и если я когда-нибудь уйду из компании, им не придется беспокоиться о работах cron, которые могут быть уничтожены, если они уничтожат мою учетную запись пользователя. на сервере, однако, мне трудно заставить это работать, главным образом, потому что моя учетная запись пользователя postgres не может видеть ту же самую среду ruby (я думаю).

Я запускаю rvm для управления моей средой ruby и после добавления прямого пути к bundle, который находится в установке rvm, я все еще получаю сообщение об ошибке. Я нахожусь в точке, в которой я не знаю, что еще делать.

Ошибка:

/home/my_personnel_account/.rvm/rubies/ruby-1.9.3-p194/lib/ruby/site_ruby/1.9.1/rubygems/dependency.rb:247:in `to_specs': Could not find bundler (>= 0) amongst [bigdecimal-1.1.0, io-console-0.3, json-1.5.4, minitest-2.5.1, rake-0.9.2.2, rdoc-3.9.4] (Gem::LoadError)
from /home/my_personnel_account/.rvm/rubies/ruby-1.9.3-p194/lib/ruby/site_ruby/1.9.1/rubygems/dependency.rb:256:in `to_spec'
from /home/my_personnel_account/.rvm/rubies/ruby-1.9.3-p194/lib/ruby/site_ruby/1.9.1/rubygems.rb:1231:in `gem'
from /home/my_personnel_account/.rvm/gems/ruby-1.9.3-p194@global/bin/bundle:22:in `<main>'

2 ответа2

3

Есть два варианта:

Первое - добавьте задание cron для этого пользователя:

crontab -e -u otheruser

Второе - используйте su/sudo для выполнения команды под другой учетной записью.

sudo -u otheruser command

Убедитесь, что вы определили все необходимые переменные среды - такие как PATH, GEM_HOME, GEM_PATH.

1

Вот основная документация по настройке cron:

https://rvm.io/integration/cron/

Существует также новый способ:

https://github.com/wayneeseguin/rvm/blob/master/help/cron.md

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