liunx自动启动脚本问题

liunx自动启动脚本问题

如果你的脚本文件是在Windows环境下创建或编辑的,那么它可能使用了Windows的换行符和回车符(CRLF)。在Linux环境下,这可能会导致问题。你可以使用dos2unix工具来转换文件的换行符。

首先,你需要安装dos2unix。在Ubuntu或Debian等基于Debian的Linux发行版中,你可以使用以下命令安装:

sudo apt-get install dos2unix

在Fedora或CentOS等基于RPM的Linux发行版中,你可以使用以下命令安装:

sudo yum install dos2unix

安装完成后,你可以使用dos2unix命令来转换你的脚本文件。例如,如果你的脚本文件名为autostart.sh,你可以使用以下命令进行转换:

dos2unix autostart.sh

这将会把autostart.sh文件中的CRLF换行符转换为LF换行符,使其在Linux环境下可以正常运行。

如果你的脚本文件包含了非ASCII字符,你可以使用文本编辑器(如Notepad++或Sublime Text等)来保存文件,并确保文件的编码格式为UTF-8。在保存时,选择"UTF-8"作为编码格式即可。

要将这些命令编写为一个Shell脚本,你可以按照以下步骤进行:

  1. 打开文本编辑器,创建一个新的文件,例如start_project.sh

  2. 在文件中添加以下内容:

    bashCopy Code#!/bin/bash
    
    # 启动 Redis 服务器
    redis-server &
    
    # 启动 emqx
    /usr/local/project/emqx4.2.3/emqx/bin/emqx start
    
    # 启动 MySQL 服务
    service mysql start
    
    # 启动 Java 程序
    /usr/local/project/privalizationPrj/start java -jar /usr/local/project/privalizationPrj/privatization.jar --server.port=9901 --face.off=/usr/local/fea/feature &
    
    # 启动 imageWeb
    /usr/local/project/privalizationPrj/imageWeb
    
  3. 保存文件并关闭文本编辑器。

  4. 授予脚本执行权限。在终端中执行以下命令:

    bashCopy Codechmod +x start_project.sh
    

现在,你可以通过运行./start_project.sh来执行该脚本,它将按顺序执行脚本中的所有命令。请确保在执行脚本之前已经正确安装和配置了Redis、EMQX、MySQL等依赖,并且脚本中的路径和命令是正确的。

在CentOS 7上,你可以使用systemd来设置开机自启动。

以下是在CentOS 7上设置开机自启动的步骤:

  1. 创建一个新的service单元文件。使用root权限打开一个文本编辑器,例如vinano

    bashCopy Codesudo nano /etc/systemd/system/start_project.service
    
  2. 在打开的文件中,添加以下内容:

    plaintextCopy Code[Unit]
    Description=Start Project Service
    After=network.target
    
    [Service]
    ExecStart=/usr/local/bin/start_project.sh
    
    [Install]
    WantedBy=multi-user.target
    
  3. 保存文件并关闭编辑器。

  4. 设置文件权限:

    bashCopy Codesudo chmod 644 /etc/systemd/system/start_project.service
    
  5. 重新加载systemd配置:

    bashCopy Codesudo systemctl daemon-reload
    
  6. 启用服务,使其在启动时自动运行:

    bashCopy Codesudo systemctl enable start_project.service
    

现在,当你的CentOS 7系统启动时,start_project.sh脚本将会自动执行。请确保脚本路径和文件名正确,并且有足够的权限来执行脚本。如果你的脚本需要在网络启动后执行,请相应地调整After=network.target为适当的依赖项。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

viktor116

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值