我正在使用 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
在剧本的开头。