2011-07-15 17 views
4

起動時に一度実行する必要があるperlスクリプトが、ユーザアカウントの下にあるの引数を持っています。私はシステムを起動するときだから、このようなコマンドを実行する必要があるUbuntuで起動時にperlスクリプトを実行する

./path/to/script.pl start 

任意のアイデア?

+0

Offtopic - try http://askubuntu.com/ –

答えて

3

は、Ubuntuののバージョンがあなたのrunlevelに基づいてrcスクリプトあなたが適切な成り上がり起動スクリプトを設定する必要がupstart

を使用して、そうでない場合は されている場合は、使用しているものinitに依存します。 update-rc.dを確認してください。

あなたのcrontabファイル(のcrontab -e)でラインを使用することができ
7

起動時にコマンドを実行するには、次の

@rebootルート:

編集の/ etc/crontabの は、次の行を追加します。 perl ./path/to/script.pl start

^^^ rootとして実行します。ブラックコウとして実行するには "root"を "BlackCow"に変更してください。

また、アップスタートを使用することもできます(.confファイルを/ etc/init /に追加することもできます)。ここに私のノートからのコピー&ペーストです:再起動時にデーモンを実行する

使用成り上がりが開始/

例えば/etc/init/prestocab.conf:

#!upstart 
description "node.js server" 
author  "BlackCow" 

start on (local-filesystems and net-device-up IFACE=eth0) 
stop on shutdown 

script 
    export HOME="/root" 

    exec sudo -u root /usr/local/bin/node /home/prestocab/prestocab.com/www/socket.io/server.js 2>&1 >> /var/log/prestocab.log 
end script 

使用するには:

start prestocab 
stop prestocab 
restart prestocab 

# それがオン

2

をクラッシュした場合は、デーモンを再起動するプロセスモニタのいくつかの並べ替えを使用する場合がありますUbuntuの最も簡単な方法は、/etc/rc.localファイルにこの行を追加することです(exit 0行の前に、usernameの代わりに独自のユーザー名を使用してください)。

su -c "./path/to/script.pl start" username & 
関連する問題