Linux如何开机自动运行自己的脚本
一、root权限编辑/etc/rc.d/rc.local
- su
- cd /etc/rc.d/
- vi rc.local
- #!/bin/sh
- #
- # This script will be executed *after* all the other init scripts.
- # You can put your own initialization stuff in here if you don't
- # want to do the full Sys V style init stuff.
- touch /var/lock/subsys/local
- mount //192.168.0.3/data2-1 /mnt/data2-1 -o username=un,password=123
- mount //192.168.0.3/data2-2 /mnt/data2-2 -o username=un,password=123
- mount //192.168.0.3/data2-3 /mnt/data2-3 -o username=un,password=123
- mount //192.168.0.3/data2-4 /mnt/data2-4 -o username=un,password=123
- mount //192.168.0.3/data2-5 /mnt/data2-4 -o username=un,password=123
提示:这里的做法很不成熟,希望不要这样,最好自己写个脚本文件在这里来调用,结构更清晰,但是要注意到是把要执行的命令作为一个参数传递给su。
三、虽然搞定,还是补充一下
Linux在启动时,会自动执行/etc/rc.d目录下的初始化程序,因此我们可以把启动任务放到该目录下,有下列办法:
方案一:
比较简单,就是上面的做法,/etc/rc.d/目录下的初始化程序很多,rc.local是在完成所有初始化之后执行的,所以在这里做手脚很合适。
方案二:
init.d目录下都为可执行程序,他们其实是服务脚本,按照一定格式编写,Linux 在启动时会自动执行,类似Windows下的服务。
1、编写如下面的脚本simpleTest:
- #!/bin/bash
- #chkconfig:2345 80 05 --指定在哪几个级别执行,0一般指关机,6指的是重启,其他为正常启动。80为启动的优先级,05为关闭的优先级别
- #description:simple example service
- RETVAL=0
- start(){ #启动服务的入口函数
- echo "simple example service is started..."
- }
- stop(){ #关闭服务的入口函数
- echo "simple example service is stoped..."
- }
- #使用case选择
- case $1 in
- start)
- start
- ;;
- stop)
- stop
- ;;
- *)
- echo "error choice ! please input start or stop";;
- esac
- exit $RETVA
3、运行chmod +x /etc/rc.d/init.d/simpleTest,使之可直接执行
4、运行chkconfig --add simpleTest,把该服务添加到配置当中
5、运行chkconfig --list simpleTest,可以查看该服务进程的状态
方案三、目的是挂载共享目录,所以可以在/etc/fstab中加上
//192.168.0.3/data2-1 /mnt/data2-1 nfs username=un,password=123 0 0
非常不好意思,方案二中虽然脚本可以运行
# ./simpleTest start
simple example service is started...
但是我在第4步出现
# chkconfig --add simpleTest
在 simpleTest 服务中读取信息时出错:没有那个文件或目录
没有进一步解决抱歉。
Linux如何开机自动运行自己的脚本的更多相关文章
- Linux、UNIX设置开机自动运行命令、脚本配置
一般我们不建议人工部署开机自动启动的脚本.而是建议通过crontab 部署脚本监控,理由如下: 1.自动开机部署脚本不好定位问题,有可能导致主机重启过慢. 2.自动开机部署脚本不好定位问题,有可能导致 ...
- Windows10开机自动运行批处理、脚本等的方法
方法/步骤: 一:打开我的电脑, 在地址栏输入:“C:\ProgramData\Microsoft\Windows\Start Menu\Programs\Startup”, 二,把自动运行批处理.脚 ...
- CentOS开机自动运行程序的脚本
有些时候我们需要在服务器里设置一个脚本,让他一开机就自己启动.方法如下: cd /etc/init.dvi youshell.sh #将youshell.sh修改为你自己的脚本名编写自己的脚本后保 ...
- linux 如何开机自动运行sh脚本
vi /etc/rc.d/rc.local #自动启动oracleecho 502 >/proc/sys/vm/hugetlb_shm_group su - oracle -c 'sh /dat ...
- CentOS开机自动运行自己的脚本详解
一.root权限编辑/etc/rc.d/rc.local su cd /etc/rc.d/ vi rc.local 二.在这个文件加上你要执行的脚本,全部内容如下: #!/bin/sh # # Thi ...
- /etc/rc.local 与 /etc/init.d Linux 开机自动运行程序
1. /etc/rc.local 这是使用者自订开机启动程序,把需要开机自动运行的程序写在这个脚本里 --------引用---------------------- 在完成 run level 3 ...
- Zabbix Server 和 Zabbix Agentd 开机自动运行
Zabbix Server 和 Zabbix Agentd 开机自动运行 请问:怎样 Zabbix Server 和 Zabbix Agentd 开机自动运行? 注:如果你的命令行写进了 /etc/r ...
- NanoPC-T4/RK3399开发板Ubuntu FriendlyCore系统开机自动运行客户程序
RK3399开机自动运行客户程序 比如hellohello.c 交叉编译:aarch64-linux-gcc hello.c -o hello使用SecureCRT软件通过串口下载到开发板rz修改文件 ...
- redmine 开机自动运行
想要redmine在centos上开机自动运行,于是就在 /etc/rc.local里面加上了一行脚本 #!/bin/shecho "start redmine:"/usr/loc ...
随机推荐
- mysql中字符集和校对规则
首先,明确一下字符集和校对规则的概念: 字符集(charset):是一套符号和编码 校对规则(collation):是在字符集内用于比较字符的一套规则,比如有的规则区分大小写,有的则无视 ...
- 学习总结 JDBC
- linx 实用操作命令一
如果apache安装成为linux的服务的话,可以用以下命令操作:service httpd start 启动service httpd restart 重新启动service httpd stop ...
- linux下的tomcat自动退出的问题
1,环境:mysql+tomcat+linux 2,发现问题:连接池断开连接 No operations allowed after connection closed 连接池断开了,再进行连接就报错 ...
- java中List Set Map使用
@Test public void run() { ArrayList<String> list= ...
- MVC ckeditor的基本使用
之前在自己的WebForm练习项目里面用到过ckeditor,时隔蛮久后,今天再一次把ckeditor运用到MVC里面,用于最近着手开发的企业站的新闻动态的内容之新增与修改. 找到的资料都说要把下载的 ...
- [转]回答--python django学的很迷茫怎么办?
作者:王一链接:http://www.zhihu.com/question/26235428/answer/36568428来源:知乎著作权归作者所有.商业转载请联系作者获得授权,非商业转载请注明出处 ...
- 开源项目:FFmpeg
ffmpeg命令行使用 将JPG格式图片转成YUV420P格式: ffmpeg -i Z:\demo\pic.jpg -s 720x480 Z:\demo\pic.yuv 解码H265成YUV420 ...
- JavaScript编程规范
最近看NodeJS中,有一部分写JS约定俗成的编程规范(附录B,详情参考附件),感觉在实际工作中能用到, 大致意思分享给大家,详情参考附件: 1.缩进:建议两空格 作为Node.js代码的缩进标记: ...
- 三、第一个Struts2应用案例(编码步骤)
第一个Struts2应用案例(编码步骤) 编写2个jsp hello.jsp <body> <a href="${pageContext.request.conte ...