1

Ну, я знаю, что для одного скрипта вопрос заключается в том, чтобы просто поместить соответствующий файл в каталог /etc/rc.local , верно? Но что, если этот сценарий зависит от других файлов (например, нескольких сценариев и нескольких текстовых файлов)? Что я должен сделать, чтобы не создавать беспорядок в этой папке?

2 ответа2

2

Если под зависимостью вы подразумеваете, что он использует и / или вызывает их, это не должно иметь значения. Вы можете просто добавить строку в конец файла rc.local в качестве команды для вызова основного скрипта, и она должна просто работать.

Существует альтернатива rc.local, по крайней мере, для настольных версий. Вы можете использовать Startup Applications, чтобы добавить в него свой скрипт. Разница между этими двумя методами, отличная от CLI и версии GUI для добавления, заключается в том, что сценарии rc.local запускаются как ROOT, а запускаемые приложения - как пользователь.


редактировать

Из комментариев ваша проблема становится понятнее. Кажется, что скрипт использует относительные пути для доступа к зависимости, которая, я думаю, не является кодом. Рабочим каталогом вышеупомянутых двух методов является /root/ или /home/<user name/ , поэтому зависимости не загружаются.

Самое простое исправление для cd - диска в папку перед запуском сценария питона. Любой из них должен работать:- Используйте cd /home/..../.../ && python perdc_task.py в качестве команды в любом из этих двух методов. - Если это не сработает, создайте сценарий (должен делать .sh ), который вызывает указанную выше команду, и вызовите этот сценарий двумя вышеуказанными методами.

Более элегантный способ сделать это - создать cd из скрипта Python , программно определяя его путь, или использовать указанный выше путь для доступа к зависимостям по абсолютному пути.


Edit2

Ubuntu, возможно, отошел от rc.local в пользу выскочки. Попытайтесь понять, работает ли использование upstart, как в этом вопросе, для вас.

1

Если у вас включен cron (что необходимо), есть специальная команда @reboot которая запускается при запуске. Я не уверен, что это работает на холодных ботинках, но из того, что я вижу, это делает.

Если это работает, вы просто пишете скрипт, помещаете его в какой-то чистый и организованный каталог, а затем вызываете его через cron .

Смотрите: здесь и здесь

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .