Linux 起動後に自動実行するスクリプト、SUSE Linux 15 (openSUSE Leap15/SLE15)

Linux 起動後に自動実行するスクリプト、SUSE Linux 15 (openSUSE Leap15/SLE15)

-- 目標

SUSE Linux (openSUSE Leap15x/SLE15spx )で、起動後に、スクリプトを自動実行させたい。

具体的には、 fstab に記述して起動中にボリュームをマウンドするのではなく、起動後に手動でマウントしていた。面倒なのでボリュームを自動でマウントしたい。fstab に記述すると、タイミングによってはマウントできずに起動できないことがある。完全に起動されてからボリュームをマウントさせたい。


-- 方法

/etc/init.d/after.local ファイルを編集(なければ作成)して、実行するコマンドを記述します。chmod +x で実行フラグを与えます。


-- Sample

suse15:~ # ls -l /etc//init.d/after.local -l

-rwxr-xr-x 1 root root 81 2月 12 16:36 /etc//init.d/after.local

suse15~ #

suse15:~ # cat /etc/init.d/after.local
#! /bin/bash
mount /dev/sdb2 /hdd/sdb
date > /tmp/after.txt
suse15~ #


−− 結果

結果は /var/log/messages に記録されます。systemctl で実行ステータスの確認もできます。

suse15~ # systemctl restart after.local
suse15~ # systemctl status after.local
● after.local.service
Loaded: loaded (/etc/init.d/after.local; generated)
Active: active (exited) since Sun 2023-02-12 16:59:33 JST; 9s ago
Docs: man:systemd-sysv-generator(8)
Process: 7057 ExecStart=/etc/init.d/after.local start (code=exited, status=0/SUCCESS)

2月 12 16:59:33 sirocco systemd[1]: Starting after.local.service...
2月 12 16:59:33 sirocco after.local[7058]: mount: /hdd/sdb: /dev/sdb2 already mounted on /hdd/sdb.
2月 12 16:59:33 sirocco systemd[1]: Started after.local.service.


suse15~ # cat /var/log/messages | grep after

: 略

2023-02-12T16:39:20.675658+09:00 sirocco systemd[1]: Started /etc/init.d/after.local Compatibility.
2023-02-12T16:59:33.387578+09:00 sirocco systemd[1]: Starting after.local.service...
2023-02-12T16:59:33.392761+09:00 sirocco systemd[1]: Started after.local.service.
suse15~ #



-- 参考

The after.local.service fails to start with exec format error









by islandcenter | 2023-02-12 22:19 | SUSE | Comments(0)