Linux Debian在init脚本中启动时运行命令

时间:2014-08-16 23:26:52

标签: linux debian init

我是Linux新手(显然),我需要在Linux服务器启动时运行一些命令,而无需手动将它们输入控制台。

我有一个名为overpass.conf的文件,完全在启动时运行:

description 'Overpass API dispatcher daemon'

env DB_DIR=/var/www/osm/db/
env EXEC_DIR=/var/www/osm/

start on (local-filesystems and net-device-up)
stop on runlevel [!2345]

pre-start script
    rm $DB_DIR/osm3s* || true
    rm /dev/shm/osm3s* || true
end script

exec $EXEC_DIR/bin/dispatcher --osm-base --db-dir=$DB_DIR 

但是,我还想运行以下内容:

cp -pR "/root/osm-3s_v0.7.4/rules" "/var/www/osm/db/"

nohup /var/www/osm/bin/dispatcher --areas --db-dir="/var/www/osm/db/" & 

chmod 666 "/var/www/osm/db/osm3s_v0.7.4_areas"

nohup /var/www/osm/bin/rules_loop.sh "/var/www/osm/db/" &

我尝试将它们添加到文件的底部,将exec添加到执行命令,甚至尝试删除引号,然后使用start overpass进行测试,但如果我向原始命令添加任何命令,则会引发错误。

如何在原始命令之后执行这4个命令?我是一个遇难的小伙子。谢谢!

修改

我用这些命令解决了它:

vi /etc/init.d/mystartup.sh

- 添加脚本命令

chmod +x /etc/init.d/mystartup.sh    
update-rc.d mystartup.sh defaults 99

1 个答案:

答案 0 :(得分:2)

还有

/etc/rc.local
在启动过程结束时执行。