如何在启动后执行rake任务?

如何在启动后执行rake任务?

我正在使用 Rails,我想在启动时执行特定的 rake 任务。我制作了一个如下的 shell 脚本:

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

在剧本的开头。

相关内容