【发布时间】:2010-03-12 03:23:06
【问题描述】:
这是我的 rc.local,用于基于 ubuntu 的自动缩放 amazon ec2 实例:(请注意,出于安全考虑,用户名、域和路径已更改)
logger "Begin rc.local startup script:"
logger "svn checkout"
sudo -u nonRootUser /usr/bin/svn co svn+ssh://user@svnserver.com/path/to/repo /var/www/html | logger
logger "chown writeable folder"
chown www-data /var/www/html/writeableFolder
logger "restart apache"
/etc/init.d/apache2 restart | logger
exit 0
这里是 sudo tail -n 40 /var/log/syslog 的输出
Mar 10 22:05:20 ubuntu logger: Begin rc.local startup script:
Mar 10 22:05:20 ubuntu logger: svn checkout
Mar 10 22:05:20 ubuntu logger: chown writeable folder
当然它不会重新启动 apache2,因为它在 chown 上出错了。但是我确实发现,如果我事先进行检查,并将 rc.local svn 命令设置为 svn 更新,它仍然不会运行 svn 命令,但会成功输出 apache2 restart。
当我手动运行这些相同的 svn 命令时,它们可以完美运行,但奇怪的是,在 rc.local 中它们不会产生任何输出到记录器,而 apache2 restart 会。
我也尝试过使用 sudo -u 和不使用 svn co 和 svn update。
如何让 svn 命令运行?完整结帐或更新。在这一点上,要么总比没有好!
【问题讨论】:
标签: svn ubuntu startupscript