linux_fedora nexus_auto_start

 
fedora20发布,不对rc.local支持,其实只是删除了rc.local文件,如果想在开机时能够运行自己写的脚本,只要新建rc.local文件就可以了,下面让我们来测试下吧:
环境:fedora20 GNOME桌面
1./etc/rc.local其实是/etc/rc.d/rc.local的软连接,那么:
vi /etc/rc.d/rc.local
 1 #!/bin/bash
 2 #this is a script foe nexus start,if the nexus is startting,return.
 3 echo "nexus verify.."
 4 testing8081=`(netstat -an|grep 8081)`
 5 if [ "NULL$testing8081" = "NULL" ] ; then
 6         echo "nuxus starting..."
 7         /home/Jorcen/Environments/nexus/nexus-2.7.0-04/bin/nexus start
 8        else
 9         echo -n "nexus had started,do you need restart it?(Y/N):"
10         read verify
11         if [ "$verify" = "Y" ] ; then
12                 /home/Jorcen/Environments/nexus/nexus-2.7.0-04/bin/nexus restart
13         echo "nexus restared.."
14         fi
15 fi

编 辑文件/lib/systemd/system /rc-local.service,将ConditionFilel***ecutable=/etc/rc.d/rc.local前面奖赏#号注释掉 及#ConditionFilel***ecutable=/etc/rc.d/rc.local

[root@localhost Jorcen]# vi /lib/systemd/system/rc-local.service

#  This file is part of systemd.
#
#  systemd is free software; you can redistribute it and/or modify it
#  under the terms of the GNU Lesser General Public License as published by
#  the Free Software Foundation; either version 2.1 of the License, or
#  (at your option) any later version.

# This unit gets pulled automatically into multi-user.target by
# systemd-rc-local-generator if /etc/rc.d/rc.local is executable.
[Unit]
Description=/etc/rc.d/rc.local Compatibility
#ConditionFileIsExecutable=/etc/rc.d/rc.local
After=network.target

[Service]
Type=forking
ExecStart=/etc/rc.d/rc.local start
TimeoutSec=0
RemainAfterExit=yes
SysVStartPriority=99

 step2

 1 [root@localhost Jorcen]# chmod +x /etc/rc.d/rc.local
 2 [root@localhost Jorcen]# ln -s /etc/rc.d/rc.local /etc/rc.local
 3 [root@localhost Jorcen]# systemctl status rc-local.service
 4 rc-local.service - /etc/rc.d/rc.local Compatibility
 5    Loaded: loaded (/usr/lib/systemd/system/rc-local.service; static)
 6    Active: failed (Result: exit-code) since Sat 2014-03-08 00:14:13 CST; 2min 44s ago
 7   Process: 2397 ExecStart=/etc/rc.d/rc.local start (code=exited, status=203/EXEC)
 8 
 9 Mar 08 00:14:13 localhost.localdomain systemd[1]: Starting /etc/rc.d/rc.local...
10 Mar 08 00:14:13 localhost.localdomain systemd[1]: rc-local.service: control p...
11 Mar 08 00:14:13 localhost.localdomain systemd[1]: Failed to start /etc/rc.d/r...
12 Mar 08 00:14:13 localhost.localdomain systemd[1]: Unit rc-local.service enter...
13 [root@localhost Jorcen]# systemctl start rc-local.service
14 [root@localhost Jorcen]# systemctl status rc-local.service
15 rc-local.service - /etc/rc.d/rc.local Compatibility
16    Loaded: loaded (/usr/lib/systemd/system/rc-local.service; static)
17    Active: active (running) since Sat 2014-03-08 00:17:26 CST; 27s ago
18   Process: 2481 ExecStart=/etc/rc.d/rc.local start (code=exited, status=0/SUCCESS)
19  Main PID: 2541 (wrapper)
20    CGroup: name=systemd:/system/rc-local.service
21            ├─2541 /home/Jorcen/Environments/nexus/nexus-2.7.0-04/bin/jsw/linux-x86-64/wrapper /home/Jorcen/Environments/nexus/nexus-2.7.0-04/bin/js...
22            └─2543 java -Djava.net.preferIPv4Stack=true -Dcom.sun.jndi.ldap.connect.pool.protocol=plain ssl -Djava.library.path=bin/jsw/lib -classpa...
23 
24 Mar 08 00:17:26 localhost.localdomain systemd[1]: Starting /etc/rc.d/rc.local Compatibility...
25 Mar 08 00:17:26 localhost.localdomain rc.local[2481]: nexus verify..
26 Mar 08 00:17:26 localhost.localdomain rc.local[2481]: nuxus starting...
27 Mar 08 00:17:26 localhost.localdomain rc.local[2481]: ****************************************
28 Mar 08 00:17:26 localhost.localdomain rc.local[2481]: WARNING - NOT RECOMMENDED TO RUN AS ROOT
29 Mar 08 00:17:26 localhost.localdomain rc.local[2481]: ****************************************
30 Mar 08 00:17:26 localhost.localdomain rc.local[2481]: Starting Nexus OSS...
31 Mar 08 00:17:26 localhost.localdomain rc.local[2481]: Removed stale pid file: /home/Jorcen/Environments/nexus/nexus-2.7.0-04/nexus.pid
32 Mar 08 00:17:26 localhost.localdomain systemd[1]: Started /etc/rc.d/rc.local Compatibility.

 

 

chmod +x /etc/rc.d/rc.local
ln -s /etc/rc.d/rc.local /etc/rc.local
2.查看rc-local.service
systemctl status rc-local.service
如果服务没有启动可以先启动下rc-local.service
3.启动rc-local.service
systemctl start rc-local.service
然后用第2点的命令查看服务状态,这里可能有的服务启动不起来,为什么:
解决:
编辑文件/lib/systemd/system /rc-local.service,将ConditionFilel***ecutable=/etc/rc.d/rc.local前面奖赏#号注释掉 及#ConditionFilel***ecutable=/etc/rc.d/rc.local
再次启动下rc-local.service并用systemctl status rc-local.service看看状态是不是已经启动起来了
4.重启机器
查看/root下是不是多了个文件test,说明我们的开机脚本已经运行了!
 
 
posted @ 2014-03-08 00:35  mjorcen  阅读(516)  评论(0编辑  收藏  举报