在fstab之后运行脚本

查理

在Ubuntu Linux 16.04.3中,如何在fstab之后首先运行另一个挂载的硬盘来运行脚本?

我试过了:

  • 在/etc/init.d中创建服务脚本,但是该脚本在fstab之前执行。
  • 添加到/etc/rc.local,但是同样的问题。
乔治·乌多森

我相信您将需要systemd在Ubuntu 16.04而不是Windows上使用较新的服务/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=multi-user.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#

注:该noautofstab中安装选项的问题在这里

 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.targetsysinit.target不确定,因为后者涵盖了所有文件系统。因此,您可以决定脚本运行的阶段,以达到所需的效果。

您还可以将特定的安装点设置为目标foobar.mount使用查找完整列表systemctl list-units --type=mount

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

在foreach列表之后运行脚本

来自分类Dev

qmake之后如何运行脚本?

来自分类Dev

在foreach列表之后运行脚本

来自分类Dev

oem firstboot之后运行脚本

来自分类Dev

如何在ConnectedDebugAndroidTest运行之前和之后运行脚本

来自分类Dev

如何在休眠之后或之前运行脚本

来自分类Dev

如何在fstab挂载上运行脚本失败并再次尝试?像处理异常

来自分类Dev

从execl()运行脚本

来自分类Dev

从.profile运行脚本

来自分类Dev

无法运行脚本

来自分类Dev

让cron运行脚本

来自分类Dev

无法运行脚本

来自分类Dev

在无人值守的升级运行之后运行脚本(例如,更新rkhunter)

来自分类Dev

验证之后,如何在ASP.NET Web窗体中的POST之前运行脚本?

来自分类Dev

应用期间在使用Terraform创建ec2之后如何运行脚本?

来自分类Dev

获取在Linux中运行脚本之前和之后的更改(基于日期和/或大小)

来自分类Dev

运行脚本的bash函数

来自分类常见问题

在Dockerfile中运行脚本

来自分类Dev

从pyspark shell运行脚本

来自分类Dev

权限被拒绝-运行脚本

来自分类Dev

闲置期间,运行脚本

来自分类Dev

每秒从cron运行脚本

来自分类Dev

如何使Arduino运行脚本

来自分类Dev

从键绑定运行脚本

来自分类Dev

从键绑定运行脚本

来自分类Dev

从任何目录运行脚本

来自分类Dev

安装后运行脚本

来自分类Dev

权限被拒绝-运行脚本

来自分类Dev

在屏幕上运行脚本