设置开机启动脚本
❶ linux设置开机启动
方法一:编辑rc.loacl脚本
直接在/etc/rc.local中添加启动脚本。
方法二:Linux通过chkconfig设置开机启动服务
创建脚本
编辑脚本内容如下(脚本前面三行格式固定)
说明:
第一行,告诉系统使用的shell,所有的shell脚本都是这样。
第二行,chkconfig后面有三个参数2345,100和101告诉chkconfig程序,需要在rc2.d~rc5.d目录下,创建名字为 S100bootshell的文件连接,连接到/etc/rc.d/init.d目录下的的test2脚本。第一个字符是S,系统在启动的时候,运行脚本bootshell,就会添加一个start参数,告诉脚本,现在是启动模式。同时在rc0.d和rc6.d目录下,创建名字为K90bootshell的 文件连接,第一个字符为K,系统在关闭系统的时候,会运行bootshell,添加一个stop,告诉脚本,现在是关闭模式。 注意上面的三行中,第二,第三行是必须的,否则在运行chkconfig --add bootshell时,会报错。
运行级别,越小越优先运行,优先级相同的时候按创建时间启动。
给文件设置执行权限
测试脚本
chkconfig创建服务
此时rc2.d-rc5.d文件夹下已有创建好的文件。
在CentOS中服务启动脚本放置在: /etc/rc.d/init.d 而 /etc/init.d 这个目录为公认的目录,在centos中 /etc/init.d 就是一个链接档案 /etc/sysconfig 服务初始化环境变量配置都在这个档案中。
❷ 树莓派设置开机启动脚本
由于北邮校内网需要Drcom拨号,每次用curl命令很麻烦,所以开始了这次写开机启动脚本的过程。
init 进程读取 /etc/inittab文件中的信息,并进入预设的运行级别。
Debian中的运行级别
查看系统当前运行级别使用 runlevel 命令,通常情况下 /etc/rcS.d/目录下的启动脚本首先被执行,然后是/etc/rcN.d/目录,N为 /etc/inittab 中的initdefault。
/etc/rc2.d 中的部分文件如下:
有K开头的文件,有S开头的文件,K的意思是Kill,S为Start。K和S后面紧跟着的数字就是关闭和启动的顺序,数字越大关闭或启动顺序越靠后。
将自定义脚本放在 /etc/init.d 目录下面,就可以使用 service yourshellname start|stop 当然需要脚本中写好start,stop功能。但是不能开机自启动。
使用update-rc.d函数将脚本设置为开机自启动。
1)设置脚本启动和关闭依赖$remote_fs,$syslog,并且启动运行级别为2-5,关闭运行级别为0,1,6。
update-rc.d foobar defaults
上面一条命令就会在/etc/rc2.d rc3.d rc4.d rc5.d中创建软链接 S03drcom -> ../init.d/drcom ,在rc0.d rc1.d rc6.d中创建软链接 K01drcom -> ../init.d/drcom 。
2)设置脚本启动关闭都为顺序20,并且启动运行级别为2-5,关闭运行级别为0,1,6。
update-rc.d foobar start 20 2 3 4 5 . stop 20 0 1 6 .
同理。
3)移除连接。
update-rc.d yourshellname remove
参考文献:
[1] 开机自动执行脚本 与 update-rc.d
[2] 树莓派开机自启动脚本制作
[3] Debian init 开机启动管理
[4] 树莓派开机启动程序及启动脚本的制作
❸ Linux配置开机自启动执行脚本有哪些方法
设置test.sh为开机要启动的脚本
[root@oldboy scripts]# vim /server/scripts/test.sh
[root@oldboy scripts]# cat /server/scripts/ test.sh
#!/bin/bash
/bin/echo $(/bin/date +%F_%T) >> /tmp/ test.log
方法一:修改/etc/rc.local
[root@oldboy ~]# ll /etc/rc.local
lrwxrwxrwx. 1 root root 13 Mar 30 10:50 /etc/rc.local -> rc.d/rc.local
修改/etc/rc.local文件
[root@oldboy scripts]# tail -n 1 /etc/rc.local
/bin/bash /server/scripts/test.sh >/dev/null 2>/dev/null
重启系统,查看结果
[root@oldboy ~]# cat /tmp/test.log
2018-03-30_12:00:10
方法二:chkconfig管理
删除掉方法一的配置
[root@oldboy ~]# vim /etc/init.d/test
#!/bin/bash
# chkconfig: 3 88 88
/bin/bash /server/scripts/test.sh >腊敏/dev/null 2>/dev/null
[root@oldboy ~]# chmod +x /etc/init.d/test
添加到chkconfig,开机自启动
[root@oldboy ~]# chkconfig --add test
[root@oldboy ~]# chkconfig --list test
test 0:off 1:off 2:off 3:on 4:off 5:off 6:off
重启系统,查看结果
[root@oldboy ~]# cat /tmp/test.log
2018-03-30_12:00:10
2018-03-30_12:33:20
操作成功
关闭开机启动
[root@oldboy ~]# chkconfig test off
[root@oldboy ~]# chkconfig --list test
test 0:off 1:off 2:off 3:off 4:off 5:off 6:off
从chkconfig管理中删携局神除辩亏test
[root@oldboy ~]# chkconfig --list test
test 0:off 1:off 2:off 3:off 4:off 5:off 6:off
[root@oldboy ~]# chkconfig --del test
[root@oldboy ~]# chkconfig --list test
service test supports chkconfig, but is not referenced in any runlevel (run
'chkconfig --add test')
❹ CentOS7 设置开机自启动脚本
两种实现方式:
方法一: (rc.local)
1、因为在 centos7 中 /etc/rc.d/rc.local 的权限被降低了,所以需要赋予其可执行权
2、赋予脚本可执行权限
假设 /usr/local/sca/start.sh 是你的脚本路径,给予执行权限
3、打开 /etc/rc.d/rc.local 文件,在末尾增加如下内容
方法二: (chkconfig)
1、将脚本移动到 /etc/rc.d/init.d 目录下
2、增加脚本的可执行权限
3、添加脚本到开机自动启动项目中
chkconfig 启动脚本规范 在脚本开头加入下面内容:
注意:不添加以上内容的话添加启动项时会提示service myservice does not support chkconfig
Linux启动优先级:
❺ update-rc.d添加脚本为开机启动
两种开机执行脚本的方法及相关的一个命令。
修改/启粗etc/rc.local
在/etc/rc.local的exit 0语句之间添加启动脚本。脚本必须具有可执行权限。
用update-rc.d命令添加开机执行脚本
创建要开机自动执行的脚本:/home/test/blog/startBlog.sh,并给予可执行权限:chmod +x /home/test/blog/startBlog.sh。
在/etc/init.d目录下创建链接文件到前面的脚本: ln -s /home/test/blog/startBlog.sh /etc/init.d/startBlog。
进入/etc/init.d目录,用 update-rc.d 命令将连接文件 startBlog 添加到启动脚本中去:update-rc.d startBlog defaults 99。
其中的99表示启动顺序,取值范围是0-99。序号越大的越晚执行。
移除启动的脚本:update-rc.d -f startBlog remove。
-f选项表示强制执行。
update-rc.d命令
此命令用于安装或移除System-V风格的初始化脚本连接。脚本是存放在 /etc/init.d/目录下的,当然可以在此目录创建连接文件连接到存放在其他地方的脚本文件。
此命令可以指定脚本的执行序号,序号的取值范围是 0-99,序号越大,越迟执行。
用法
update-rc.d [-n] [-f] name remove 用于移除脚本。
update-rc.d [-n] name default [NN | SS KK],NN表示执行序号(0-99),SS表示启动时的执行序号,KK表示关机时的执行序号,SS、KK主要用于在脚本直接的执行顺序上有依赖关系的情况下。
选项
-n:悄辩镇不做任何事情,只显示将要做的。(预览、做测试)
-f:强制移除符号连接灶迅,即使 /etc/init.d/script-name 仍然存在。
举例
update-rc.d startBlog defaults 99:添加一个启动连接,执行序号是99。
如果执行脚本B需要先执行脚本A,如下设置(A的启动顺序比B的小,结束顺序比B的大):
update-rc.d script_for_A defaults 80 20
update-rc.d script_for_B defaults 90 10
添加一个不被其他任何服务需要的服务:update-rc.d script_name defaults 98 02,
添加一个需要 开始/结束 序号在20的服务的服务:update-rc.d script_depends_on_service_20 default 21 19。
移除一个脚本,假定/etc/init.d/目录下的脚本文件已先被删除:update-rc.d script_name remove。
移除一个脚本,不管/etc/init.d/目录下的脚本文件是否已删除:update-rc.d -f script_name remove。
❻ 开机自启脚本
电脑或服务中郑器开机都会有一些需要启动的程序,每次都需要一个一个点击启动,耗时耗力,还有可能漏启动。所以添加一个开机自启的脚本,脚本中帮我们打开需要启动的侍孙程序,如Snipaste、FRP客户端等。
修改 /etc/rc.local 文件,添加启动服务的命令
先写好启动脚本或者启动命令,事先保证启动脚本或命令能正常启动服务,然后将脚本路径或启动命令添加至/etc/rc.local文件中,这个方法适合比较简单的shell脚本。
创建脚本myservice,写入
将脚本放到/etc/init.d或/etc/rc.d/init.d目录下,并添加脚本为服务
输入如下命令调用myservice服务,然后查看/tmp下的test.txt文件发现卖谈颂已经写入了日期。
将myservice服务设置为开机自启
查看服务是否开机启动
重启服务器,就会执行 systemctl start myservice 命令和 rc.local 中的命令。
编辑脚本
根据实际情况修改Service中的User和ExecStart的属性,然后将将本放到 /usr/lib/systemd/system/node_exporter.service 路径下。
设为开机自启动
systemctl enable node_exporter.service
会将文件路由到 /etc/systemd/system/multi-user.target.wants/ 目录下
可以通过如下命令查看日志信息
journalctl -u node_exporter -n 10 -f
❼ ubuntu 设置脚本开机自启动
Ubuntu 18.04的改动还是比较大,很多之前版本 Ubuntu上简单易用的一些功能都被砍了,比如设置 rc.local 自动启动脚本的功能。之前的 Ubuntu上只需要把想要自动启动的脚本放到 /etc/rc.local 这个文件,就可以开机启动了,但是 Ubuntu 18.04 这样做已经不行了,因为 rc-local.service 这个 systemd service 已经默认不启用了。所以我们所需要做的就是重新启用 rc-local.service,然后就可以像之前一样简单的设置开机自动启动脚本了。
这个配置文件默认在 /lib/systemd/system/ 这个目录下,我们只需将它拷贝到对应目录:
然后编辑这个文件:
在最后加上这些内容:
修改后的 rc-local.service 文件完整如下:
配置完成后,还需要创建一个 rc.local 文件:
在这个文件里写入我们想要开机自动启动的命令即可。
然后给这个文件加上执行权限:
至此,就已经完成了 rc.local 的配置,重启之后会自动启动对应想启动的脚本。
如果发现没有生效,可以尝试:
接着启动这个服务并查看它的状态
命令输出如下
可以看到rc.local中的脚本已经被正确执行了。
❽ win10 开机自动启动脚本
windows的bat批处理启动软件
start+空格+/d+"需要打开的软件安装地址"+空格+快捷启动名
双引号不能丢
例如:
1、打开电脑目录: C:\ProgramData\Microsoft\Windows\Start Menu\Programs\Startup
2、将需要开机启动就执行的bat脚本放入此目录下
3、重启电脑
或者用计划任务来配置
控制面板\所有控制面板项\管理工具
选择任务计划程序
❾ linux设置开机自启动
linux设置开机自启动执行命令 :
执行命令 : 编辑"/etc/rc.local",添加你想开机运行的命令
运行程序脚本 :然后在文件最后一行添加要执行程序的全路径。
例如,每次开机时要执行一个hello.sh,这个脚本放在/usr下面,那就可以在"/etc/rc.local"中加一行"/usr/./hello.sh",或者" cd /opt && ./hello.sh "
注意,你的命令应该添加在:exit 0 之前
linux在“/etc/rc.d/init.d”下有很多的文件,每个文件都是可以看到内容的,其实都是一些shell脚本或者可执行二进制文件 Linux开机的时候,会加载运行/etc/init.d目录下的程序,因此我们可以把想要自动运行的脚本放到这个目录下即可。系统服务的启动就是通过这种方式实现的。
简单的说,运行级就是操作系统当前正在运行的功能级别。
例:在Ubuntu/den里,可以使用update-rc.d命令来把示例脚本:/etc/init.d/proxy安装到各个runlevel中。
update-rc.d后面有三个参数,分别是/etc/init.d下的脚本名字,默认安装方式,运行的优先级。优先级的数字越大,表示越迟运行,这里我们把自己写的服务放在最后运行。
如果要卸载随机启动的服务,执行
在update-rc.d安装的时候提示了警告信息,是因为我们写的/etc/init.d/proxy太简陋了,只包含了我们想要的命令,连LSB的信息也没有提供。
只需要对自启动脚本做一些小改动,就可以避免那个警告了。如下:
到此,一个最简单的随机启动服务写好了,看起来文章挺长的,但其实也就几个命令而已。 在下次开机启动的时候,proxy.py就会以root用户身份被自动运行。
在/etc/init.d下新建示例脚本文件(startTest.sh),该脚本会启动/opt/test.sh。内容如下:
写了脚本文件之后事情还没有完,继续完成以下几个步骤:
❿ linux设置开机自启动脚本的最佳方式
最简单粗暴的方式直接在脚本 /etc/rc.d/rc.local (和 /etc/rc.local 是同一个文件,软链)末尾添加自己的 脚本
然后,增加脚本执行权限
第二种方式是在crontab中设置
也可以设置每次登录自动执行脚本,在 /etc/profile.d/ 目录下新建sh脚本,
/etc/profile 会遍历 /etc/profile.d/*.sh
另外,几个脚本的区别:
(1) /etc/profile: 此文件为系统的每个用户设置环境信息,当用户第一次登录时,该文件被执行. 并从/etc/profile.d目录的配置文件中搜集shell的设置。
(2) /etc/bashrc: 为每一个运行bash shell的用户执行此文件.当bash shell被打开时,该文件被读取(即每次新开一个终端,都会执行bashrc)。
(3) ~/.bash_profile: 每个用户都可使用该文件输入专用于自己使用的shell信息,当用户登录时,该文件仅仅执行一次。默认情况下,设置一些环境变量,执行用户的.bashrc文件。
(4) ~/.bashrc: 该文件包含专用于你的bash shell的bash信息,当登录时以及每次打开新的shell时,该该文件被读取。
(5) ~/.bash_logout: 当每次退出系统(退出bash shell)时,执行该文件. 另外,/etc/profile中设定的变量(全局)的可以作用于任何用户,而~/.bashrc等中设定的变量(局部)只能继承 /etc/profile中的变量,他们是”父子”关系。
(6) ~/.bash_profile: 是交互式、login 方式进入 bash 运行的~/.bashrc 是交互式 non-login 方式进入 bash 运行的通常二者设置大致相同,所以通常前者会调用后者。