Вот мой rc.local для автоматического масштабирования экземпляра amazon ec2 на основе ubuntu: (Обратите внимание, что имена пользователей, домены и пути были изменены в целях безопасности)
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.
Эти те же самые команды svn отлично работают, когда я запускаю их вручную, хотя странно, что в rc.local они не выдают никаких результатов для регистратора, а перезапуск apache2 делает.
Я также пытался запустить обновление svn co и svn как с sudo -u, так и без.
Как мне запустить команду svn? Либо полная проверка или обновление. На этом этапе либо будет лучше, чем ничего!