Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Run a perl script at startup in Ubuntu

I have a perl script that I need to run once at startup with an argument under my user account.

So when I boot the system up it needs to execute a command like this,

./path/to/script.pl start

Any ideas?

like image 830
BlackCow Avatar asked Dec 17 '22 11:12

BlackCow


1 Answers

You could use a line in your crontab (crontab -e)

To run a command at startup:

edit /etc/crontab Add the following line:

@reboot root perl ./path/to/script.pl start

^^^ Runs as root. Change "root" to "BlackCow" to run as BlackCow

Or, you could use upstart (add a .conf file to /etc/init/). Here's a copy and paste from my notes:

Use upstart to run a daemon at reboot/start

e.g. /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

To use:

start prestocab
stop prestocab
restart prestocab

# You might want to use some sort of process monitor to restart the daemon if it crashes

like image 137
Eamorr Avatar answered Dec 19 '22 02:12

Eamorr