Команды Subversion не запускаются Ubuntu rc.local - PullRequest
0 голосов
/ 11 марта 2010

Вот мой 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? Либо полная проверка или обновление. На этом этапе либо будет лучше, чем ничего!

Ответы [ 2 ]

2 голосов
/ 11 марта 2010

Я не знаю, почему sudo вызывает проблемы, но вы также можете использовать su, который будет работать так:

su nonRootUser -c "/usr/bin/svn co svn+ssh://user@svnserver.com/path/to/repo /var/www/html | logger"
0 голосов
/ 11 марта 2010

Попробуйте использовать полный путь к chown.

/bin/chown
...