サーバー起動時にスクリプトの実行
備忘録として
Linux(Rasbian)起動時にスクリプトの実行をさせるには(知る限り)2通りある
1. /etc/rc.local への書き込み
書き込みにroot権限が必要となる。
実行もrootになる。
そのため、スクリプトがログを書き出すものなら、ログもroot所有になってしまう。
2. crontabへの書き込み
cronは個々のユーザの権限で動作するので書き込み権限の心配はいらない。
そして、今までcronは定期実行用とおもってたら起動時指定もできるようである。
@reboot 実行スクリプト
で動作する。
他のweekly, monthly などの記述も可読性があがっていい
P.S 1 要ネットワーク確立待ち
スクリプトがネットワークを介するものなら確立までに時間を要するので
@reboot sleep 5 && bash run_at_startup.sh startup.log
とかとするとよい。