• Как добавить bash в автозагрузку от имени root?

    @Drno
    Файл исполняемый ?
    Тогда добавбте его в кронтаб
    sudo crontab -e
    Ответ написан
    Комментировать
  • Как добавить bash в автозагрузку от имени root?

    @voleg4u
    http://www.voleg.info/
    Тебе заблокировать модуль ? Почитай про blacklist в modprobe.d .
    Ответ написан
    Комментировать
  • Как добавить bash в автозагрузку от имени root?

    smorman
    @smorman
    When In Rome do as The Romans do...
    Ну, .sh в конце по нонешним временам - эт лишнее, без него можно и нужно.

    В шапке скрипта, надеюсь:
    #!/bin/bash
    присуйтствует?

    А также, ты его, надеюсь, исполняемым сделал:
    sudo chmod o+x /путь_к_срипту/main
    ???

    И, из консоли его, если ты в сессии пользователя, чтобы он от рута запускался, апосля всех условий выше, надо через sudo запускать:
    sudo ./main
    А про автозагрузку тебе парни уже всё написали...
    Systemd, Supervisor, Cron (crontab) - что душе угодно...
    Ответ написан
    2 комментария
  • Как добавить bash в автозагрузку от имени root?

    Vindicar
    @Vindicar
    RTFM!
    Если убунта новая - то сделай из него systemd модуль. Тебе нужен тип one-shot, т.е. который выполняется и завершается, а не работает постоянно. Вот приблизительный пример. Допустим, файл называется foo.service
    [Unit]
    #человекочитаемое описание
    Description=Setup foo
    
    [Service]
    Type=oneshot
    #это путь к скрипту, который будет выполняться разово при запуске сервиса
    ExecStart=/opt/foo/setup-foo.sh
    #если ExecStart отработал, сервис считается активным
    RemainAfterExit=true
    #это путь к скрипту, который будет выполняться разово при остановке сервиса
    ExecStop=/opt/foo/teardown-foo.sh
    StandardOutput=journal
    
    [Install]
    #когда запускать скрипт при загрузке - когда готовы выполняться от имени пользователей, или когда сеть есть, или ещё когда.
    WantedBy=multi-user.target


    Создав файл, не забудь сделать systemctl daemon-reload чтобы systemd подцепил изменения.
    А чтобы срабатывало при загрузке - systemctl enable foo.service. Если назвал файл иначе, поправь последний аргумент.
    Если твои скрипты не отмечены как испоняемые, или не имеют в первой строке #!/bin/bash, то тогда надо изменить строки ExecStart/ExecStop так:
    ExecStart=/bin/bash /opt/foo/setup-foo.sh
    Ответ написан
    Комментировать