2011-01-26 4 views
0

Я написал сценарий запуска, который начинается при запуске для версии сервера ubuntu 9.10 и выполняет rsync моих каталогов, который указан на моем пути, я делал запуск по старому способу связи мой скрипт из init.d и размещение его на рабочем уровне, который работает, и поэтому я могу запустить его при запуске, но через некоторое время служба моего скрипта не запущена. Он падает на середину через 5 минут, когда система встает, а код внутри скрипта - это всего лишь строка rsync, которая, я уверен, не является проблемой, и поэтому мне нужно снова вызвать скрипт, чтобы запустить его службы? что в этом плохого? Может ли кто-нибудь помочь?Сценарий запуска всегда терпит крах на сервере ubuntu 9.10 edition

ответ

1

Проверьте свой каталог /var/log/ для записей в журнале - я не знаю upstart почти так же хорошо, как и должен, но я надеюсь, что он убьет любую задачу /etc/init.d/rc*, которая будет работать в течение пяти минут. init скрипты должны использовать start-stop-daemon для запуска определенных программ, которые работают в течение длительного времени. (Таким образом, те же самые программы могут быть изящно закрыты при перезагрузке или выключении.) Но сами скрипты должны работать в течение секунды или около того.

Я предлагаю написать фактический сценарий управления upstart и поместить его в /etc/init/ вместо того, чтобы сражаться с скриптом инициализации. Я не думаю, что upstart уходит :), чтобы вы могли привыкнуть к нему.

+0

ну, у меня есть демон start-stop-restart-status, но во время запуска он запускается, и служба будет работать, если я проверю статус, но после нескольких минут служба уходит, это мое беспокойство, почему это так? – catvsrat

+0

catvsrat: Я думаю, что sarnold пытается сказать - возможно, потому что rsync занимает больше, чем верхний предел времени запуска для запуска службы, а затем убивает его, прежде чем ему удастся завершить. – sinelaw

+0

oh ok, но недавно я понял, что мой скрипт терпит неудачу, только когда я делаю некоторые изменения на пути, указанном для rsync, очень внятного, любого догадки? – catvsrat

0

У меня недостаточно информации для решения вашей проблемы, но я предлагаю вам stderr pipe rsync в файл журнала и попытаться выяснить, что пошло не так. Попробуйте включить '-v' для многословия. Например:

rsync ...blabla... -v 2>&1 | cat > /tmp/rsync.log 

Или так.

+0

Также попробуйте запустить rsync с теми же параметрами (и разрешениями) вручную из оболочки и посмотреть, что произойдет. – sinelaw

+0

Это * большой * UUoC! Попробуйте 'rsync ... 2>/tmp/rsync.log' или' rsync ...> /tmp/rsync.log 2> & 1'. –

+0

Деннис Уильямсон: ну .... да :) – sinelaw

Смежные вопросы