我是Linux新手(显然),我需要运行一些命令,只要我的Linux服务器启动,而无需手动input到控制台。
我有一个叫做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
进行testing,但是如果向原始命令添加任何命令,则会引发错误。
我怎么能在原来的那个之后执行这4个命令呢? 我是一个遇险的白人。 谢谢!
编辑
我用这些命令解决了它:
vi /etc/init.d/mystartup.sh
– 将命令添加到脚本
chmod +x /etc/init.d/mystartup.sh update-rc.d mystartup.sh defaults 99
还有
在/etc/rc.local
这是在启动过程结束时执行的。