精华内容
下载资源
问答
  • 怎么设置脚本自动启动
    千次阅读
    2020-09-26 16:32:18

    简介


    ubuntu作为服务器使用时,常常需要在机器重启时能自动启动我们开发的服务。

    Ubuntu 16.10开始不再使用initd管理系统,改用systemd,包括用systemctl命令来替换了servicechkconfig的功能。

    systemd 默认读取 /etc/systemd/system 下的配置文件,该目录下的文件会链接/lib/systemd/system/下的文件。

    不同于以往的版本,ubuntu18.04默认不带/etc/rc.local文件,我们需要通过配置来让rc.local.service生效。

    然后我们就可以像以前那样,直接把启动脚本写入/etc/rc.local文件,这样机器启动时就会自动运行它。

    除了常规的设置启动脚本以外,本文还介绍一下通用的添加自动启动服务的一般方法。

    rc.local启动脚本


    1. 查看所有服务
    • ls /lib/systemd/system,可以看到很多服务,这样不便于确认指定的服务是否存在
    • ls /lib/systemd/system | grep rc,找到我们关心的rc.local.service服务
    1. 修改服务配置
    • sudo vi /lib/systemd/system/rc.local.service

    • 打开后可以看到,文件包含[Unit]和[Service]两个部分内容

    • 一般启动文件需要三个部分:

      • [Unit] 启动顺序与依赖关系
      • [Service] 启动行为, 如何启动,启动类型
      • [Install] 定义如何安装这个配置文件,即怎样做到开机启动
    • 在文件最后加入以下内容:

    [Install]  
    WantedBy=multi-user.target  
    Alias=rc-local.service
    
    1. 创建执行文件
    • sudo vi /etc/rc.local
    • 写入以下内容:
    #!/bin/sh -e
    #
    # rc.local
    #
    # This script is executed at the end of each multiuser runlevel.
    # Make sure that the script will "exit 0" on success or any other
    # value on error.
    #
    # In order to enable or disable this script just change the execution
    # bits.
    #
    # By default this script does nothing.
    
    echo "this shows rc.local is start onboot" > /usr/local/rc-local-info.log
    # add your scritp here
    
    exit 0
    
    • 为rc.local加执行权限: sudo chmod +x /etc/rc.local
    1. 建立软链接
    • systemd 默认读取 /etc/systemd/system 下的配置文件, 所以还需要在 /etc/systemd/system 目录下创建软链接
    • sudo ln -s /lib/systemd/system/rc.local.service /etc/systemd/system/
    1. 启用服务并启动
    sudo systemctl enable rc-local
    sudo systemctl start rc-local.service
    sudo systemctl status rc-local.service
    
    1. 重启检查: cat /usr/local/rc-local-info.log

    通用服务创建


    请按以下步骤进行:

    1. 创建一个systemd服务
    • 比如创建名为my-serverA的服务:sudo vi /etc/systemd/system/my-serverA.service
    • 将以下内容写入文件:
    [Unit]
    Description=/etc/my_serverA.sh Compatibility
    ConditionPathExists=/etc/my_serverA.sh
     
    [Service]
    Type=forking
    ExecStart=/etc/my_serverA.sh start
    TimeoutSec=0
    StandardOutput=tty
    RemainAfterExit=yes
    SysVStartPriority=99
     
    [Install]
    WantedBy=multi-user.target
    
    1. 创建可执行文件my_serverA.sh
    • sudo vi /etc/my_serverA.sh
    • 写入以下内容:
    echo "this shows my_serverA.sh is start onboot" > /usr/local/my_serverA.start.log
    # add your scritp here
    # my_serverA
    
    exit 0
    
    • 为my_serverA.sh加执行权限: sudo chmod +x /etc/my_serverA.sh
    1. 启用my_serverA服务
    • sudo systemctl enable my_serverA
    1. 启动服务并打印状态
    sudo systemctl start my_serverA.service
    sudo systemctl status my_serverA.service
    
    1. 重启以验证

    cat /usr/local/my_serverA.start.log

    小结


    两种方法的流程大概相同,这与Linux的服务启动机制有关,只要我们设置好,服务就会自动启动。

    只要掌握了一种方式,其他的都一样了。

    想了解详细内容的同学,可以学习一下Linux系统启动过程,也非常有意思。

    更多相关内容
  • 如何将自己自定义的脚本文件设置为开机自启动 举个例子,一般来说,电脑端只能运行一个微信,如果我们需要同时登陆多个微信账号,我们需要自己写一段小脚本用来执行微信双开或者多开,如果我们想让这个脚本能够开机...

    如何将自己自定义的脚本文件设置为开机自启动

    举个例子,一般来说,电脑端只能运行一个微信,如果我们需要同时登陆多个微信账号,我们需要自己写一段小脚本用来执行微信双开或者多开,如果我们想让这个脚本能够开机自启动,如下图:
    在这里插入图片描述
    为了实现自定义的.bat或者其它文件格式的开机自启动,我们需要执行以下的操作:

    一、第一种方法

    1、右键此电脑(win10系统),点击“管理”
    在这里插入图片描述
    2、点击“创建基本任务”

    在这里插入图片描述

    3、输入自定义的名称

    在这里插入图片描述
    4、设置启动形式,建议设置为计算机启动时(单个用户)
    在这里插入图片描述
    5、点击下一步,勾选“启动程序”一项
    在这里插入图片描述
    6、点击浏览,选择自定义自启动文件的路径,选择完毕后点击下一步
    在这里插入图片描述
    7、打开任务程序库,找到刚刚自定义的任务
    在这里插入图片描述
    在这里插入图片描述
    8、打开刚刚设置的任务,点击触发器一栏,如果栏目内为空,则点击新建
    在这里插入图片描述
    9、一般选择“启动时”
    在这里插入图片描述
    10、打开常规,勾选此项
    在这里插入图片描述
    11、点击确定,即可完成

    二、第二种方法

    直接在系统的启动文件夹添加(注意添加该文件到信任区,防止误认为病毒被删除)
    在这里插入图片描述

    展开全文
  • Centos 设置开机自动启动脚本

    千次阅读 2020-08-19 14:20:24
    Centos 开机自启动脚本 实现开机自启动脚本非常简单,简单的写一个shell脚本和配置一下rc.local 文件就行 例如我的start.sh脚本文件 是这样的,利用uwsgi开启一个web端口 1.编写开机脚本 vi /start.sh nohup ...

    Centos 设置开机自动启动脚本

    实现开机自启动的脚本非常简单,简单的写一个shell脚本和配置一下rc.local 文件就行
    例如我的start.sh脚本文件 是这样的,利用uwsgi开启一个web端口

    1.编写开机脚本

    vi /start.sh
    
    nohup uwsgi --http :8001 --wsgi-file test.py &
    

    这里加上nohup ,nohup的作用是在centos后台运行,后面一定要加&符号,否则有可能会造成centos重启卡在进度条的那个界面,后面会讲如何解决这个问题

    2.配置rc.local文件

    vi /etc/rc.d/rc.local
    
    # !/bin/bash
    # THIS FILE IS ADDED FOR COMPATIBILITY PURPOSES
    #
    # It is highly advisable to create own systemd services or udev rules
    # to run scripts during boot instead of using this file.
    #
    # In contrast to previous versions due to parallel execution during boot
    # this script will NOT be run after all other services.
    #
    # Please note that you must run 'chmod +x /etc/rc.d/rc.local' to ensure
    # that this script will be executed during boot.
    
    touch /var/lock/subsys/local
    /start.sh &
    

    我是在最后一行加上**/start.sh &**这行命令,最后也不能少了&符号

    3.配置文件权限

    如果你在启动脚本,保存脚本或者配置文件有权限的话,那么需要赋予一下文件权限,在rc.local文件中的注释也详细提到过

    在这里插入图片描述

    chmod +x /etc/rc.d/rc.local
    

    脚本文件也需要赋予一下权限

    chmod +x /start.sh
    

    这样就完成了开机后台自启脚本

    4.一些错误排除

    在开放web端口的时候可能会访问不通,那么可以选择开放端口或者永久关闭防火墙

    查看防火墙状态
    systemctl status firewalld.service
    
    关闭防火墙
    systemctl stop firewalld.service
    
    永久关闭防火墙
    systemctl disable firewalld.service
    

    如果遇到了centos重启后卡在进度条的情况下,可以进入单用户模式,暂时把rc.local后台自启动的命令注释或者删除掉
    在这里插入图片描述

    开机时,大概启动到这里按"E"键,也可以提前就按着。
    在这里插入图片描述
    然后再这个位置加入 init=/bin/bash,
    在这里插入图片描述
    然后按 ctrl+x 进入单用户模式

    然后编辑rc.local的时候可能会遇到权限不够,输入如下命令即可编辑
    **加粗样式

    mount -o remount,rw /
    

    重新编辑你的rc.local文件后重启后就好了

    展开全文
  • 点击上方“五分钟学算法”,选择“星标”公众号重磅干货,第一时间送达在工作中,我们经常有个需求,那就是在系统启动之后,自动启动某个脚本或服务。在 Windows 下,我们有很多方法可以设置...

    点击上方“五分钟学算法”,选择“星标”公众号

    重磅干货,第一时间送达

    在工作中,我们经常有个需求,那就是在系统启动之后,自动启动某个脚本或服务。在 Windows 下,我们有很多方法可以设置开机启动,但在 Linux 系统下我们需要如何操作呢?

    Linux 下同样可以设置开机启动,但可能需要我们敲一些命令(可能也有 UI 界面的设置方法,但我不熟,我更多是玩命令)。下面我们就介绍三种简单但可行的开机启动设置方法。

      方法一:修改 /etc/rc.d/rc.local 文件  

    /etc/rc.d/rc.local 文件会在 Linux 系统各项服务都启动完毕之后再被运行。所以你想要自己的脚本在开机后被运行的话,可以将自己脚本路径加到该文件里。

    但是,首先需要确认你有运行这个文件的权限。

    $ chmod +x /etc/rc.d/rc.local

    为了演示,我们创建了一个脚本,当它被执行之后,将在家目录下写入有特定信息的文件。

    $ vim auto_run_script.sh
    
    #!/bin/bash
    date >> /home/alvin/output.txt
    hostname >> /home/alvin/output.txt

    保存退出后,再给它赋予可执行权限:

    $ chmod +x auto_run_script.sh

    然后,我们再将脚本添加到 /etc/rc.d/rc.local 文件最后一行:

    $ vim /etc/rc.d/rc.local
    
    /home/alvin/auto_run_script.sh

    接下来,我们就可以试试效果了。直接重启系统就可以了:

    $ sudo reboot

    重启之后,就会在家目录下看到脚本执行的结果了。

      方法二:使用 crontab  

    大家知道,crontab 是 Linux 下的计划任务,当时间达到我们设定的时间时,可以自动触发某些脚本的运行。

    我们可以自己设置计划任务时间,然后编写对应的脚本。但是,有个特殊的任务,叫作 @reboot ,我们其实也可以直接从它的字面意义看出来,这个任务就是在系统重启之后自动运行某个脚本。

    那它将运行的是什么脚本呢?我们如何去设置这个脚本呢?我们可以通过 crontab -e 来设置。

    $ crontab -e
    
    @reboot /home/alvin/auto_run_script.sh

    然后,直接重启即可。运行的效果跟上面类似。

      方法三:使用 systemd 服务  

    以上介绍的两种方法,在任何 Linux 系统上都可以使用。但本方法仅适用于 systemd 系统。如何区分是不是 systemd 系统?很简单,只需运行 ps aux 命令,查看 pid 为 1 的进程是不是 systemd 。

    为了实现目的,我们需要创建一个 systemd 启动服务,并把它放置在 /etc/systemd/system/ 目录下。

    我们创建的 systemd 启动服务如下。请注意,这时后缀是 .service ,而不是 .sh 。

    $ vim auto_run_script.service
    
    [Unit]
    Description=Run a Custom Script at Startup
    After=default.target
    
    [Service]
    ExecStart=/home/alvin/auto_run_script.sh
    
    [Install]
    WantedBy=default.target

    从服务的内容可以看出来,我们最终还是会调用 /home/alvin/auto_run_script.sh 这个脚本。

    然后,我们再把这个脚本放置在 /etc/systemd/systerm/ 目录下,之后我们再运行下面两条命令来更新 systemd 配置文件,并启动服务。

    $ systemctl daemon-reload
    $ systemctl enable auto_run_script.service

    万事俱备之后,我们就可以重启系统啦。

    $ reboot

    ---

    爱分享,爱开源,GitHubPorn 现已正式上线!专注于为大家分享优质的计算机学习资源与开发者工具。

    如果今天的推荐符合你的口味,请在文章点赞,以表示对我的支持,你们的点赞和转发关注,是我持续更新的动力^_^

    
    
    展开全文
  • Windows脚本bat设置开机自启动
  • ubuntu设置开机自动启动脚本

    千次阅读 2017-11-23 21:18:49
    有时候我们想要脚本开机自动运行,那么就需要设置开机自启动脚本。首先将脚本复制或者软连接到/etc/init.d/目录下然后update-rc.d xxx defaults NN命令(NN为启动顺序)将脚本添加到初始化执行的队列中去。注意如果...
  • winodws10 设置脚本开机自启动

    千次阅读 2021-09-13 15:20:41
    通过组策略设置脚本随服务器启动 1.开始->运行->gpedit.msc->计算机配置->Windows设置->脚本启动/关机)–右击属性–添加 。其中Win10有很多版本,其中家庭版默认是不提供组策略功能,如果需要给...
  • CentOS开机自动启动脚本

    千次阅读 2022-01-26 15:34:04
    其实可以通过添加开机自动启动脚本的方法来进行自动启动。 自启动方法 在/etc/rc.d/rc.local中添加启动脚本 echo "/opt/script/start-my-app.sh" >> /etc/rc.d/rc.local 如果需要以特定用户执行: echo "su ...
  • 安卓设置脚本开机自启动

    千次阅读 2021-05-26 06:49:52
    手机想要开机自启一个脚本,百度之Android默认的启动脚本有init.rc init.xxx.rc init.xxx.sh因为init.rc是属于内存文件系统中的文件,每次开机从ram中释放加载进内存,意味着修改替换重启后还是之前的那个,所以无法...
  • crontab设置开机自动启动sh脚本

    千次阅读 2020-08-17 11:07:42
    crontab设置开机自动启动sh脚本 1、打开crontab任务 crontab -e 2、设置脚本在启动后的30s启动tomcat @reboot ( sleep 30s ; sh /usr/local/tomcta/bin/startup.sh ) 【/usr/local/tomcta/bin/startup.sh(路径)】
  • Linux设置开机自启动脚本

    千次阅读 2021-07-15 09:56:02
    这里介绍两种Linux开机自启动脚本的方式 也可用于开机自启动软件(把软件的启动写成脚本,然后再让脚本开机自启动即可) 方式1:/etc/profile.d/ 把自启动脚本放在/etc/profile.d/下 为了保证一定能执行,最好再加个...
  • Deepin15.11 设置开机自动登录,并自启动脚本 一.设置开机启动 控制中心-》 账户-》 账户右侧的菜单-》 勾选自动登录-》 输入密码-》点击认证-》 至此设置已完成。 二.设置启动脚本 打开文件管理器-》 进入 ...
  • ubuntu设置开机自启动脚本

    千次阅读 2021-07-05 16:19:14
    查看当前runlevel等级,直接输入runlevel 运行级别 runlevel 0 : 关闭系统 runlevel 1 : 维护模式/单用户模式...其中/etc 目录下的rc0.d~rc.6.d文件夹下分别对应的是操作系统0-6级运行的状态下需要执行的脚本,都是
  • 一、Ubuntu添加开机自动启动程序的方法1. 开机启动时自动运行程序Linux加载后, 它将初始化硬件和....d目录下的脚本文件,可以使init自动启动其它程序。例如:编辑/etc/rc.d/rc.local 文件(该文件通常是系统最后启...
  • win10 开机自动启动脚本

    千次阅读 2022-03-11 10:01:58
    win10 开机自动启动脚本
  • 虚拟机设置开机启动自动运行脚本

    千次阅读 2021-11-15 17:22:54
    2. 设置好开机免密码之后,在配置开机自动启动脚本 编写一个bat文件作为脚本,并将它放入到如下目录中 C:\ProgramData\Microsoft\Windows\Start Menu\Programs\StartUp 写入内容如下,即开机运行start1.bat...
  • linux设置 自定义脚本开机启动

    千次阅读 2019-04-04 21:59:38
    本文原创,转载请标明出处 ... 一、 赋予可执行权限 chmod +x/etc/rc.d/rc.local 二、 编辑启动文件 vim /etc/rc.d/rc.local 三、 在/etc/rc.d/rc.local 中 加入 自己的执行脚本 & ...
  • 设置服务器开机服务自启,包括.sh脚本,docker,nginx等 编写/etc/rc/local文件 1、.sh 脚本文件 [root@localhost /]# cat /etc/rc.local #!/bin/bash # THIS FILE IS ADDED FOR COMPATIBILITY PURPOSES # # It is ...
  • 最近在使用Ubutnu18.04,我突然发现没有rc.local文件了,原来是因为在新版本全部统一使用systemctl来管理服务了,开机自启动服务也不例外。 打开rc-local.service文件 sudo vim /lib/systemd/system/rc-local....
  • WIN10设置启动脚本

    千次阅读 2022-03-20 11:34:16
    刚想设置一个笔记本热点开机自启的操作 上网查询后发现需先把脚本文件放在C:\Windows\System32\GroupPolicy\Machine\Scripts\Startup 目录下 1)而在我的WIN10系统中开始时并为找到该目录 所以我选择了使用WIN+R...
  • Centos7设置开机自动运行脚本

    千次阅读 2021-11-15 15:55:07
    Centos7设置开机自动运行脚本 1. Centos7设置开机自动运行脚本 需要自动运行的脚本如下: [root@bigdata001 ~]# [root@bigdata001 ~]# cat restart.sh nohup echo `date` >> /root/restart.log 2>&...
  • Airtest自动化测试脚本启动设置

    千次阅读 2019-06-25 10:44:38
    新建记事本——将上一步骤复制的脚本启动信息复制到记事本中——保存后将记事本文件改成bat文件,即将文件后缀名txt改为bat——设置之后,双击这个bat文件即可启动程序。 三、定时启动 此步骤主要是要将bat文件...
  • Windows设置开机自启动bat脚本

    千次阅读 2021-11-07 14:44:57
    echo start %~dp0\你的脚本>"%AppData%\Microsoft\Windows\Start Menu\Programs\Startup\StartRun.bat" 案例 : echo start %~dp0\myRun.bat>"%AppData%\Microsoft\Windows\Start Menu\Programs\Startup\...
  • 用shell脚本批量启动docker容器

    千次阅读 2021-05-23 18:44:52
    这里写目录标题1 前置知识2 容器的自动启动脚本1 注意事项 1 前置知识 1.在脚本中运行docker命令要在命令前加sudo. 2.docker查看容器是否正在运行,正在运行返回1,没有返回0。 docker ps |grep -i 容器的序列号|wc ...
  • linux设置开机自动运行脚本的方法

    千次阅读 2022-02-10 10:31:29
    有时候,我们需要在系统启动之后,自动启动某个脚本或服务。在 Windows 下,我们有很多方法可以设置开机启动,但在 Linux 系统下我们需要如何操作呢? Linux 下同样可以设置开机启动,下面我们介绍其中一种常见的...
  • Python 技术篇-设置windows开机自动启用Jupyter服务,BAT批处理脚本启用jupyter服务设置设置jupyter默认启动位置的方法。 把下面的代码存储为 bat 结尾的批处理脚本。 @echo off jupyter notebook 放到存放 python...
  • ubuntu18.04设置开机自启动脚本

    千次阅读 2022-03-11 15:26:58
    ubuntu18.04开机自启动服务
  • Linux设置自动重启脚本

    千次阅读 2022-03-11 12:21:49
    1、定义开机启动脚本 nohup java -Xms512m -Xmx512m -XX:MetaspaceSize=128m -XX:MaxMetaspaceSize=256m -Xmn256m -Xss256k -XX:SurvivorRatio=8 -XX:+UseConcMarkSweepGC -DLOG_HOME=/temp -jar /temp/xxxxx.jar &...
  • mac设置shell脚本开机自启动

    千次阅读 2018-07-22 16:59:33
    mac设置shell脚本开机自启动 1、任意位置编写一个sh脚本,比如:run.sh 2、修改run.sh权限  sudo chmod 777 run.sh 3、右键点击run.sh->显示简介,主要将打开方式修改为终端,共享和权限将所有权限打开...
  • 设置Node.js脚本开机自启动

    千次阅读 2022-03-24 18:14:16
    Node.js脚本如何开机自启动,Mac OS设置自己的程序开机自动启动

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 521,234
精华内容 208,493
关键字:

怎么设置脚本自动启动