Как проверить, работает ли init.d скрипт?

Нет никакого способа сделать это с chmod один. В zsh можно использовать в своих интересах рекурсивный globbing и спецификаторы шарика:

chmod g+ws /path/to/folder/**/*(/)

В ksh можно сделать это, но он будет также воздействовать на символьные ссылки на каталоги.

set -o globstar
chmod g+ws /path/to/folder/**/*/

В ударе можно сделать это, но он также пересечет символьные ссылки на каталоги во время рекурсивного спуска.

shopt -s globstar
chmod g+ws /path/to/folder/**/*/

Вместо того, чтобы использовать setgid обдумал каталоги, можно использовать ACL по умолчанию на каталогах к make-файлам, перезаписываемым группой.

setfacl -d -m g:somegroup:rwx /path/to/folder/**/*(/)
setfacl -m g:somegroup:rwx /path/to/folder/**/*(/)
4
20.05.2015, 01:17
1 ответ

Обычно нельзя сказать, был ли выполнен init-скрипт из задания cron. Придётся искать какой-нибудь побочный эффект init-скрипта, а cron для этого бессмыслененен. Заставьте свой init-скрипт выдать сообщение журнала.

Если вы хотите убедиться, что служба запущена, используйте механизм мониторинга (возможно, на основе сети , если служба предлагается по сети). Речь идет не о том, запущен ли скрипт init, а об одном довольно маловероятном режиме отказа. Речь идет о том, чтобы убедиться, что сервис доступен, когда это необходимо.

Как выполнить скрипт при запуске системы зависит от того, какая система init используется. Так как существует множество альтернатив (даже в Linux, а иногда и в одном и том же выпуске одного и того же дистрибутива), ознакомьтесь с документацией операционной системы, чтобы узнать, как выполнить init-скрипт. Обратите внимание, что с большинством из них недостаточно где-то бросить скрипт оболочки в каталог, вам также нужно где-то добавить некоторую управляющую информацию (в конфигурационном файле, символическую ссылку, в качестве комментария в скрипте, ...).

1
27.01.2020, 21:01

Теги

Похожие вопросы