Как выполнить грабли после запуска?
Я использую 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
в начале сценария.