Linux
如何在 CentOS7 上使用 Upstart 腳本?
我需要
/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