精华内容
下载资源
问答
  • 直接在脚本/etc/rc.d/rc.local(和/etc/rc.local是同一个文件,软链)末尾添加自己的脚本,然后,增加脚本执行权限。 root用户执行命令:ll /etc/rc.d/ 可以看到有下面这些文件: 其中 rc0~6.d 中的 0~6 代表运行...

    方式一:

    直接在脚本/etc/rc.d/rc.local(和/etc/rc.local是同一个文件,软链)末尾添加自己的脚本,然后,增加脚本执行权限。

    root用户执行命令:ll /etc/rc.d/
    可以看到有下面这些文件:
    在这里插入图片描述
    其中 rc0~6.d 中的 0~6 代表运行级别:
    0:系统停机(关机)模式,系统默认运行级别不能设置为0,否则不能正常启动,一开机就自动关机。
    1:单用户模式,root权限,用于系统维护,禁止远程登陆,就像Windows下的安全模式登录。
    2:多用户模式,没有NFS网络支持。
    3:完整的多用户文本模式,有NFS,登陆后进入控制台命令行模式。
    4:系统未使用,保留一般不用,在一些特殊情况下可以用它来做一些事情。例如在笔记本电脑的电池用尽时,可以切换到这个模式来做一些设置。
    5:图形化模式,登陆后进入图形GUI模式或GNOME、KDE图形化界面,如X Window系统。
    6:重启模式,默认运行级别不能设为6,否则不能正常启动,就会一直开机重启开机重启。

    设置程序开机启动,要做的事情就是:

    • 在/home/sh目录下创建一个启动脚本(将程序启动命令放在里面,选择的目录根据自己的情况)
    • 然后增加它的可执行权限
      给启动文件添加权限
      执行命令:chmod +x 文件
    • 最后设置 rcxx.d 到启动脚本的软连接(设置软连接)
      设置软连接的时候,要注意命名规则。

    查看已有的软连接:ll /etc/rc.d/rc3.d/
    在这里插入图片描述
    可以发现在启动脚本前面都加了 “K数字”,或者 “S数字”

    其中 K 表示 Kill 某个程序(关闭),S 表示 Start 某个程序(启动)

    后面紧跟着的数字,表示启动/停止某个程序的顺序,数字越小的越先启动(数字的具体值可以自己根据情况自行设定)

    我这里设置软连接用的命令是:

    ln -s /home/sh/restartppp0.sh /etc/rc3.d/S96restartppp0
    

    方式二

    crontab设置定时任务

    crontab -e
    @reboot /home/sh/restartppp0.sh
    
    展开全文
  • 0x01 编写脚本脚本存放在/etc/init.d位置下,文件名如 hello,记得加上可执行权限。sudo vi /etc/init.d/hellosudo chmod +x /etc/init.d/hello脚本将由root用户自动执行,编写时涉及到文件等一些权...

    在旧时代是使用update-rc.d命令来操作的,具体步骤可以查阅网上其他资料,在这里介绍使用systemctl命令来更加优雅地实现。

    0x01 编写脚本

    脚本存放在/etc/init.d位置下,文件名如 hello,记得加上可执行权限。

    sudo vi /etc/init.d/hello

    sudo chmod +x /etc/init.d/hello

    脚本将由root用户自动执行,编写时涉及到文件等一些权限操作时注意一下就好。

    对于脚本的内容。。。emmm..确实是有点格式要求的,一开始我直接就撸了一句

    echo "hello" >> /home/ubuntu/log

    然而并无卵用,正确的姿势应该是这样的,最简单的脚本如下:

    #!/bin/sh

    ### BEGIN INIT INFO

    # Default-Start: 2 3 4 5

    # Default-Stop: 0 1 6

    ### END INIT INFO

    echo "hello world" >> /home/ubuntu/log

    开头的那几行注释,一句都必不可少,shell可以换成#!/bin/bash,也可以是其他的都行。但必须有指定脚本所使用的shell。注释完后就是自己写的脚本内容了,我这里只是随便hello了一下。

    Default-Start、 Default-Stop 是指脚本在哪个runlevel被执行,以上的2345是最常见的运行等级,一般脚本都这样写就行了。

    详情点我看Linux标准

    0x02 设置脚本开机自启动

    这里就可以优雅地使用systemctl命令了,一句话搞定:

    sudo systemctl enable hello

    如果脚本里那几行注释没有缺少的话,是不会有任何报错的。

    如果出现

    update-rc.d: error: XXX Default-Start contains no runlevels, aborting.

    意味着,脚本里缺少了运行级别的说明,并不知道什么时候启动。

    如果没有指定shell,脚本可能无法成功执行。

    0x03 Good Luck

    sudo reboot

    重启几次看看脚本执行成功了没有吧~~~每一次重启,那个log文件都会多一句hello world。

    0x04 取消脚本开机自启动

    sudo systemctl disable hello

    0x05 调整启动顺序

    有些程序需要先有网络才能顺利启动,可以采用官方的例子,调整启动顺序:

    # Required-Start: $local_fs $network $remote_fs

    就是在有网、本地文件系统、远程文件系统都就绪情况下再启动本服务。

    ### BEGIN INIT INFO

    # Provides: lsb-ourdb

    # Required-Start: $local_fs $network $remote_fs

    # Required-Stop: $local_fs $network $remote_fs

    # Default-Start: 2 3 4 5

    # Default-Stop: 0 1 6

    # Short-Description: start and stop OurDB

    # Description: OurDB is a very fast and reliable database

    # engine used for illustrating init scripts

    ### END INIT INFO

    Linux就是这么简单优雅~❤❤❤

    展开全文
  • linux 设置非root用户开机自启动sh脚本非常简单 使用root用户修改文件/etc/rc.d/rc.local,在文件最后添加命令和要执行的脚本 su my -c "/home/my/startup.sh" 添加完之后重启linux,发现并没有执行...

    linux 设置非root用户开机自启动sh脚本非常简单
    使用root用户修改文件/etc/rc.d/rc.local,在文件最后添加命令和要执行的脚本

    su my -c "/home/my/startup.sh"

    添加完之后重启linux,发现并没有执行脚本,然后看了一下rc.local的授权是-rw-r--r--,发现并没有执行权限。使用root用户添加可执行权限,然后重启就解决了。

    chmod o+x /etc/rc.d/rc.local
    展开全文
  • 2、进入rc.local脚本文件,把自己想要自启动脚本添加到末尾。 3、登陆hadmin用户服务器,进入对应脚本目录,对脚本设置可执行权限。  chmod 777 *.sh 4、reboot 重启虚拟机,ok完成。...

    1、rc.local是给用户自定义启动时需要执行的文件,开机重启后会自动执行的文件。

    2、进入rc.local脚本文件,把自己想要自启动的脚本添加到末尾。

    3、登陆hadmin用户服务器,进入对应脚本目录,对脚本设置可执行权限。

         chmod 777 *.sh

    4、reboot 重启虚拟机,ok完成。

    展开全文
  • 登录到CentOS,切换到oracle用户权限 # su – oracle 接着输入: $ sqlplus /as sysdba 原本的画面会变为 SQL> 接着请输入 SQL> startup 就可以正常的启动数据库了。 另外停止数据库的指令如下: SQL> shutdown...
  • Linux自启动脚本

    2020-01-04 18:08:45
    Linux自启动脚本创建start_SCCtl.sh脚本脚本赋予权限修改profile文件 创建start_SCCtl.sh脚本 1、使用root用户创建start_SCCtl.sh脚本,内容如下: #!/bin/sh /home/es/displaySoft/build-SCCtl-unknown-Release/...
  • 一:让一个脚本开机自启动 1:把脚本放在/etc/rc.local里面 2:通过chkconfig管理 1)把脚本放在/etc/init.d目录下 2)这个脚本要有执行权限chmod+x /etc/init/XXX 3)脚本第一行必须是:#chkconfig: 2345 99 99 4...
  • Linux Oracle服务启动&停止脚本与开机自启动 在CentOS 6.3下安装完Oracle 10g R2,重开机之后,你会发现Oracle没有自行启动,这是正常的,因为在Linux下安装Oracle的确不会自行启动,必须要自行设定相关...
  • Linux Oracle服务启动&停止脚本与开机自启动 在CentOS 6.3下安装完Oracle 10g R2,重开机之后,你会发现Oracle没有自行启动,这是正常的,因为在Linux下安装Oracle的确不会自行启动,必须要自行设定相关参数,首先...
  • 在CentOS 6.8下安装完Oracle 10g R2,重开机之后,你会发现Oracle没有自行启动,这是正常的...一、在Linux启动Oracle登录到CentOS,切换到oracle用户权限# su – oracle接着输入:$ sqlplus "/as sysdba"原本的画...

空空如也

空空如也

1 2 3 4 5 ... 16
收藏数 318
精华内容 127
关键字:

linux用户权限自启动脚本

linux 订阅