记录这个事情是上次完成之后,今天要新加一个文件夹,一时之间忘记以前怎么做了,因为有几种方法,起码我知道三种方法,这里记录一笔以前的做法,觉得最简单:
 
操作系统:CentOS-5.2
目      标:开机自动挂载局域网中windows的共享目录
 

一、root权限编辑/etc/rc.d/rc.local

  1. su
  2. cd /etc/rc.d/
  3. vi rc.local
二、在这个文件加上你要执行的脚本,全部内容如下:
  1. #!/bin/sh
  2. #
  3. # This script will be executed *after* all the other init scripts.
  4. # You can put your own initialization stuff in here if you don't
  5. # want to do the full Sys V style init stuff.
  6. touch /var/lock/subsys/local
  7. mount //192.168.0.3/data2-1 /mnt/data2-1 -o username=un,password=123
  8. mount //192.168.0.3/data2-2 /mnt/data2-2 -o username=un,password=123
  9. mount //192.168.0.3/data2-3 /mnt/data2-3 -o username=un,password=123
  10. mount //192.168.0.3/data2-4 /mnt/data2-4 -o username=un,password=123
  11. mount //192.168.0.3/data2-5 /mnt/data2-4 -o username=un,password=123

提示:这里的做法很不成熟,希望不要这样,最好自己写个脚本文件在这里来调用,结构更清晰,但是要注意到是把要执行的命令作为一个参数传递给su。

 
另外复习一个VI编辑命令-拷贝
yy
p

三、虽然搞定,还是补充一下

Linux在启动时,会自动执行/etc/rc.d目录下的初始化程序,因此我们可以把启动任务放到该目录下,有下列办法:

方案一:

比较简单,就是上面的做法,/etc/rc.d/目录下的初始化程序很多,rc.local是在完成所有初始化之后执行的,所以在这里做手脚很合适。

方案二:

init.d目录下都为可执行程序,他们其实是服务脚本,按照一定格式编写,Linux 在启动时会自动执行,类似Windows下的服务。

1、编写如下面的脚本simpleTest:

  1. #!/bin/bash
  2. #chkconfig:2345 80 05 --指定在哪几个级别执行,0一般指关机,6指的是重启,其他为正常启动。80为启动的优先级,05为关闭的优先级别
  3. #description:simple example service
  4. RETVAL=0
  5. start(){ #启动服务的入口函数
  6. echo  "simple example service is started..."
  7. }
  8. stop(){ #关闭服务的入口函数
  9. echo  "simple example service is stoped..."
  10. }
  11. #使用case选择
  12. case $1 in
  13. start)
  14. start
  15. ;;
  16. stop)
  17. stop
  18. ;;
  19. *)
  20. echo "error choice ! please input start or stop";;
  21. esac
  22. 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如何开机自动运行自己的脚本的更多相关文章

  1. Linux、UNIX设置开机自动运行命令、脚本配置

    一般我们不建议人工部署开机自动启动的脚本.而是建议通过crontab 部署脚本监控,理由如下: 1.自动开机部署脚本不好定位问题,有可能导致主机重启过慢. 2.自动开机部署脚本不好定位问题,有可能导致 ...

  2. Windows10开机自动运行批处理、脚本等的方法

    方法/步骤: 一:打开我的电脑, 在地址栏输入:“C:\ProgramData\Microsoft\Windows\Start Menu\Programs\Startup”, 二,把自动运行批处理.脚 ...

  3. CentOS开机自动运行程序的脚本

    有些时候我们需要在服务器里设置一个脚本,让他一开机就自己启动.方法如下: cd /etc/init.dvi youshell.sh   #将youshell.sh修改为你自己的脚本名编写自己的脚本后保 ...

  4. linux 如何开机自动运行sh脚本

    vi /etc/rc.d/rc.local #自动启动oracleecho 502 >/proc/sys/vm/hugetlb_shm_group su - oracle -c 'sh /dat ...

  5. CentOS开机自动运行自己的脚本详解

    一.root权限编辑/etc/rc.d/rc.local su cd /etc/rc.d/ vi rc.local 二.在这个文件加上你要执行的脚本,全部内容如下: #!/bin/sh # # Thi ...

  6. /etc/rc.local 与 /etc/init.d Linux 开机自动运行程序

    1. /etc/rc.local 这是使用者自订开机启动程序,把需要开机自动运行的程序写在这个脚本里 --------引用---------------------- 在完成 run level 3 ...

  7. Zabbix Server 和 Zabbix Agentd 开机自动运行

    Zabbix Server 和 Zabbix Agentd 开机自动运行 请问:怎样 Zabbix Server 和 Zabbix Agentd 开机自动运行? 注:如果你的命令行写进了 /etc/r ...

  8. NanoPC-T4/RK3399开发板Ubuntu FriendlyCore系统开机自动运行客户程序

    RK3399开机自动运行客户程序 比如hellohello.c 交叉编译:aarch64-linux-gcc hello.c -o hello使用SecureCRT软件通过串口下载到开发板rz修改文件 ...

  9. redmine 开机自动运行

    想要redmine在centos上开机自动运行,于是就在 /etc/rc.local里面加上了一行脚本 #!/bin/shecho "start redmine:"/usr/loc ...

随机推荐

  1. redis错误总结

    1.同步错误.不停重试一直不成功 Full resync from master: e51165e2868c541e28134a287f9bfe36372bae34:80575961684 MASTE ...

  2. bzoj1216 [HNOI2003]操作系统

    1216: [HNOI2003]操作系统 Time Limit: 10 Sec  Memory Limit: 162 MBSubmit: 751  Solved: 419[Submit][Status ...

  3. Git 使用及原理 总结

    1.  $git diff origin/master master (show me the changes between the remote master branch and my mast ...

  4. [AngularJS 1] Introduction to AngularJS

    introduction:this article is going to introduce AngularJS in generally. I will write it through five ...

  5. .NET Reflector反编译的方法

    首先启动.NET Reflector,然后添加进入dll或exe.然后选择Export Source Code...,将反编译后的代码文件,生成到指定目录. 到这一步骤时,稍等一会,就能够在指定目录就 ...

  6. 快速搭建 Node.js 开发环境以及加速 npm

    如何快速搭建 node 开发环境 npm 超慢 github 无法打开的问题 于是我觉得应该写一篇文章解答所有这些起步问题,让新同学也能顺顺利利入门. 快速搭建 Node.js 开发环境 如果你想长期 ...

  7. A planning attack on a commuter train carriage in Taipei

    Last night an explosion on a commuter train carriage in Taipei Songshan railway station wounded at l ...

  8. css3mediaquery移动端网页字体适应屏幕代码

    @media screen and (min-width:320px) and (max-width:321px) { html { font-size: 62.5%; } } @media scre ...

  9. eclipse 导入jar包

    我们在用Eclipse开发程序的时候,经常想要用到第三方的jar包.这时候我们就需要在相应的工程下面导入这个jar包.以下配图说明导入jar包的步骤. 1.右击工程的根目录,点击Properties进 ...

  10. Git一张图学习