
起動時に実行する必要があるスクリプトがあります。 init.dに入れました。 root権限でスクリプトのコマンドの1つを実行する必要があります。どうすればいいですか?
編集1:
参考までに、ClearCase/ClearQuest RHEL 6.7 サーバーです。ライセンスマネージャの前にCCを起動するのに問題があるようです。したがって、次のコマンドを実行したいと思います(すべてのコマンドにはroot権限が必要です)。
/path/to/atria_start stop # stop CC
/path/to/start_lmgrd start # start license manager (flexlm)
/path/to/atria_start start # restart CC
このうち何も起こらなかった。 /etc/init.dの簡単なスクリプト「cc_startup.sh」に入れました。
答え1
init.dにある場合は、rootとして実行する必要があります。起動時に実行するには、たとえばOSディストリビューション/バージョンに従って入力/etc/rc.d/rc2.d
します/etc/rc2.d
。たとえば、次の形式でリンクを作成する必要があります。
S##Name -> ../init.d/scripthere.sh
ここで、##は起動時に実行したい場所と同じです。 SSHの前に現れたいですか? Apacheの後?データベースの前に?その他などこれを知ると、どの番号を入力する必要があるのかがわかります。
これを達成するには、ln -s ../init.d/scripthere.sh S##name
正しいrcディレクトリで実行する必要があります。
答え2
RHと派生ディストリビューションで独自のinitスクリプトを生成する場合は、実際にはデフォルトのchkconfig起動設定ユーティリティを使用するように作成する必要があります(ほとんどのRHL管理者が知って使用しているため)。
以下は基本をよく扱っています。 新しいchkconfig initスクリプトの生成
答え3
Bashではテストしましたが、他のシェルではテストしませんでした。あなたのコンピュータでのみ動作したい場合。以下を使用できます。
echo $MY_SUDO_PASSWORD | sudo -S <command>
もちろん、$ MY_SUDO_PASSWORDがsudoパスワードと一致すると、パスワードを要求せずにsudoで実行されます。