Запустите скрипт после fstab

В Ubuntu Linux 16.04.3, как я запускаю скрипт, иждивенца на другом жестком диске, смонтированном сначала, после fstab?

Я попробовал:

  • Создание сервисного сценария в/etc/init.d, но сценария выполняется прежде fstab.
  • Добавление к/etc/rc.local, но той же проблеме.
4
задан 11 September 2017 в 02:38

1 ответ

Я полагаю, что необходимо будет использовать более новое systemd сервис на Ubuntu 16.04, а не /etc/init.d. Здесь Вы создадите сервисный файл для запущения скрипта после local-fs.target.

позволяют мне подарить Вам образец того, как это было бы сделано.

  1. Создают необходимое service файл в /etc/systemd/system каталог

  2. , файл был бы похож на это:

    [Unit]
    Description=Script to run after fstab
    After=local-fs.target
    
    [Service]
    Type=simple        
    ExecStart=/bin/bash -c "/script/to/run.sh"
    
    
    [Install]
    WantedBy=multiuser.target 
    
  3. И конечно Вы настроите сервис с:

    sudo systemctl start <name_of_service>
    sudo systemctl enable <name_of_service>
    

, Который был бы, как это могло быть сделано, я не протестировал его сам, и вот ссылка на документацию для помощи Вам далее. Посмотрите на другие опции, доступные для различных полей в сервисном файле.

https://access.redhat.com/articles/754933

https://www.freedesktop.org/software/systemd/man/bootup.html

https://Примечание www.freedesktop.org/software/systemd/man/systemd.html#

: то, что noauto fstab монтируют, что вопросы опции здесь видят

 local-fs-pre.target
                |
                v
       (various mounts and   (various swap   (various cryptsetup
        fsck services...)     devices...)        devices...)       (various low-level   (various low-level
                |                  |                  |             services: udevd,     API VFS mounts:
                v                  v                  v             tmpfiles, random     mqueue, configfs,
         local-fs.target      swap.target     cryptsetup.target    seed, sysctl, ...)      debugfs, ...)
                |                  |                  |                    |                    |
                \__________________|_________________ | ___________________|____________________/
                                                     \|/
                                                      v
                                               sysinit.target
                                                      |
                 ____________________________________/|\________________________________________
                /                  |                  |                    |                    \
                |                  |                  |                    |                    |
                v                  v                  |                    v                    v
            (various           (various               |                (various          rescue.service

                |                  |                  |                                         v
                v                  v                  v                                 emergency.target
            display-        (various system    (various system
        manager.service         services           services)
                |             required for            |
                |            graphical UIs)           v
                |                  |           multi-user.target
                |                  |                  |
                \_________________ | _________________/
                                  \|/
                                   v
                         graphical.target

, Рассмотрение схемы выше Ваших целей было бы local-fs.target или sysinit.target не совсем уверено как последние покрытия все файловые системы. Таким образом, Вы выбираете фазу, когда Ваш сценарий работал бы, чтобы дать Вам желаемый эффект.

10
ответ дан 1 December 2019 в 08:59

Другие вопросы по тегам:

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