Linux

如何在 CentOS7 上使用 Upstart 腳本?

  • February 9, 2021

我需要/etc/init/start_swift.conf使用以下命令創建一個文件:

description "mount swift drives"
start on runlevel [234]
stop on runlevel [0156]
exec /opt/swift/bin/mount_devices

但問題是我什至沒有 init 目錄。我已經投入start_swift.conf/etc/init.d/,但它不起作用。如何在 CentOS7 中創建這種類型的新貴文件?

這個問題有兩個答案。

在 CentOS 7 systemd 上,您可以如何在啟動時執行服務或腳本您將 .service 文件放在 /etc/systemd/system 下,如下所示:

; /etc/systemd/system/swift.service
[Unit]
Description=Swift

[Service]
Type=notify
ExecStart=myscript

[Install]
; Runlevel here: 
WantedBy=multi-user.target

但實際上 systemd 可用於直接安裝設備,如果這是您的腳本的意圖。

對於(非 rpm 打包的)服務,您可以將“.mount”文件放在 /etc/systemd/system 下,例如 /etc/systemd/system/var-lib-docker.mount。您可能還想查看 systemd 的自動掛載選項,請參閱參考資料。

為了載入文件,使用systemd daemon-reload

; /etc/systemd/system/var-lib-docker.mount
[Unit]
Description="Mount a volume"
Before=network.service

[Mount]
What=/dev/sdb1
Where=/var/lib/docker
;Options=

有很多可以調的,請參考:

參考資料 - https://www.freedesktop.org/software/systemd/man/systemd.service.html

引用自:https://unix.stackexchange.com/questions/283391