我已经设置好/etc/rc.local
使用几个脚本来启动一些服务以便在系统重启时启动。
一个脚本以root身份运行并启动nginx,mysql,php等......并且运行良好。
其他东西以我的普通用户身份运行,所以我执行了 sudo,但它似乎在启动时不起作用。在启动过程的这个阶段以非特权用户身份运行是否存在问题?
我的 rc.local 看起来像这样 -
#!/bin/sh
touch /var/lock/subsys/local
# main system start - web server, db etc...
/root/start-services.sh
# services run as me
/usr/bin/sudo -u tim /home/vhosts/myapp/bin/start-app.sh
系统启动时运行脚本,一切正常。但在启动时,start-app.sh 中的任何服务均未启动,我在任何日志中都找不到任何错误痕迹。
我在这里做错了什么?
答案1
尝试:
su USER -c 'command &'
答案2
您应该尝试/usr/bin/sudo -u tim /home/vhosts/myapp/bin/start-app.sh 2>&1 1>/tmp/start-app.log
将 stdout 和 stderr 写入文件。