Debianの起動時自動実行スクリプト作り直し

MacMini上に仮想サーバのDebianを立てて、DebianからMacMiniのディレクトリにNFSで接続する - ITは遊び

上記記事で、自動実行スクリプトを作ってそのまま/etc/init.d/に置いたが、きちんとLSB INFOを書かないと実行されないようだ。

vi /etc/init.d/mount_backup

最初に、INIT INFOとやらを書く。で、caseで実行内容を変えると、開始と終了の動作が分けられる。

#!/bin/sh
# Start/stop the mount backup.
#
### BEGIN INIT INFO 
# Provides:          mount_backup 
# Default-Start:     2 3 4 5 
# Default-Stop:      0 1 6
# Description:       mount my backupdisc.
### END INIT INFO 

# このスクリプトを/etc/init.d/に置いて、実行権限を与え、
# # update-rc.d mount_backup defaults 99 1 で、設定する。
case $1 in
    start)
		# バックアップディスクをマウント
        mount 192.168.1.10:xxx/xxx/backupdisc /media/backupdisc -o nolock
    ;;
    stop)
        umount /media/backupdisc
    ;;
esac

Default-Startは開始時のランレベル、Default-Stopは終了時のランレベル。/etc/init.d/apache2からコピーしただけなので、よくわからない。

このあとに、以下を実行する。

update-rc.d mount_backup defaults 99 1

これで、自動実行に登録されたはず。

確かに、ランレベル2の/etc/rc2.d/に登録されている。

$lsa /etc/rc2.d/*mount_backup
lrwxrwxrwx 1 root root 29 2012-11-10 12:38 /etc/rc2.d/S21mount_backup -> ../init.d/mount_backup

これで、よく使うserviceコマンドが利用できる。

#service mount_backup start
#service mount_backup stop

再起動してみてテストしてみたところ、OKだった。

なんだかserviceで起動、終了できるとそれっぽいね。