Как выполнить грабли после запуска?

Я использую Rails, и я хотел бы выполнить определенную задачу rake при загрузке. Я сделал сценарий оболочки так:

cd /path/to/my/app
rake db:backup

который является символом в /etc/rc2.d/, Проблема в том, что скрипт запускается с правами root, что означает, что у него нет доступа к rake (я использую bundler и rvm). Я хотел бы перейти к моему пользователю для сценария, но не могу понять, как это сделать успешно.

Итак, есть ли способ запустить этот запуск от моего аккаунта или есть лучший способ запустить задачу rake после запуска?

1 ответ

Решение

Добавить что-то вроде

if [ "$(id -nu)" != 'your_user' ]; then
  exec sudo -u 'your_user' $0
fi

в начале сценария.

Другие вопросы по тегам