Команды Subversion не запускаются Ubuntu rc.local
Вот мой 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 update, он по-прежнему не запускает команду svn, но выводит перезапуск apache2 успешно.
Эти те же самые команды svn работают отлично, когда я запускаю их вручную, хотя странно, что в rc.local они не выдают никаких данных в журнал, а перезапуск apache2 делает.
Я также попытался запустить обновление svn co и svn как с sudo -u, так и без.
Как мне запустить команду svn? Либо полная проверка или обновление. На данный момент либо будет лучше, чем ничего!
2 ответа
Я не знаю почему sudo
вызывает проблемы здесь, но вы также можете использовать su
, который будет работать так:
su nonRootUser -c "/usr/bin/svn co svn+ssh://user@svnserver.com/path/to/repo /var/www/html | logger"