私はルーティング目的でPCを持っていますが、そのPCには2つのネットワークインターフェースがあり、Debianを実行しています。動作していることを知らせる音を追加したいです。
/etc/init.s/beep-startup
だから私は一流の秘密に基づいていくつかのスクリプトを作成しました。LSバイファマニュアル(名前の指定で笑いが止まらない。申し訳ありません。) これには、いくつかのコアコマンドが含まれています(何百ものLSB文字列で)。
### BEGIN INIT INFO
# Provides: beep-startup
# Required-Start: $all
# Required-Stop: $all
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Short-Description: qwer
# Description: asdf
### END INIT INFO
case "$1" in
start)
#power chord + extreme uprising = fells like its clearly up and feeing good
beep -f 220 -l 100
beep -f 330 -l 100
beep -f 880 -l 100
;;
stop)
# power chord + slow chirp down, feels like low descending shutdown sound, right after ctrl+alt+del or /sbin/reboot
beep -f 440 -l 100
beep -f 330 -l 100
beep -f 220 -l 100
;;
*)
echo "Usage: sudo rm / -rf"
esac
それから当然逃げchmod +x
たupdate-rc.d beep-startup defaults
しかし、今の秘密は、実行中のものを見ると、実際のビープ音は、ログインプロンプトが表示されるのではなく、システムの起動中に発生することです。したがって、ビープ音とログインプロンプトの間には2〜3秒の間隔があります。ビープ音と正しいルーティング開始の間に約5〜7秒があります(4コア* 2ghz + 4gb DDR3 RAM、ルーターでは悪くありません)。 「終了順序が開始されました」を確認する必要があります。
beep
ログインプロンプトを表示する前に、叙情的に「ナノ秒」になることを願っています。つまり、$all
(#everything
または作成したいものは正確で明確に保たれます)が実際に初期化を完了し、システムがログインを表示する準備が整いました。即時。システムがすべてのタスクを完了した直後に、ログインプロンプトが表示される前に実行される自動実行スクリプトをどのように作成できますか?
PS。少し不満ですが、これはコンソール専用のルーターであり、xorgや他のものはありません。必要な唯一のユーザーはroot
あり、ほとんどのタスクはルートに関連付けられています。システムは「初期化」、「実行」、「終了」、「電源オフ」が可能で、実行レベルは不要です。 Debianはランレベルのないディストリビューションで本当のゴミです忙しいボックスの初期化そういう意味ではとても「セクシー」と感じます。後で、私は恥ずかしいDebianを削除し、buildrootなどのディストリビューションに切り替える予定です。ただし、これは本番環境でのみ発生します。私は安定し、どのソフトウェアが必要かを把握した後にのみ発生します。これで、開発とソフトウェアの使いやすさのテスト段階で「ランタイム」パッケージを追加する可能性が気になります。これまで、私は+について良い経験をしましたが、最初のブロックがiptables
2番目のときに+の最悪の経験を経験しただけでなく、dnsmasqをブロックし、WAN全体を切断するなどの経験もありました。もっとユーザーフレンドリーなソリューションを探してください。今の質問は、「すべてが実行された後にスクリプトを実行する」についてです。shorewall
webmin
/etc/init.d
答え1
ここには素晴らしい解決策があります。解決策1:crontabに@rebootエントリを作成して、/usr/local/bin/runonceというスクリプトを実行します。
mkdir -p を使用して、/etc/local/runonce.d/ran というディレクトリ構造を作成します。
次のように/usr/local/bin/runonceスクリプトを作成します。
#!/bin/sh
for file in /etc/local/runonce.d/*
do
if [ ! -f "$file" ]
then
continue
fi
"$file"
mv "$file" "/etc/local/runonce.d/ran/$file.$(date +%Y%m%dT%H%M%S)"
logger -t runonce -p local3.info "$file"
done
次に、再起動時に(一度だけ)実行したいスクリプトを/etc/local/runonce.dディレクトリに適切に配置し、chownとchmod +xを配置します。実行したら、ranサブディレクトリに移動し、名前に日付と時刻が追加されていることを確認できます。システムログにもエントリがあります。
デニス・ウィリアムズに感謝 https://serverfault.com/questions/148341/linux-schedule-command-to-run-once-after-reboot-runonce-equvalent