Linux环境设置开机自启4种方法

1、简介

经常碰到机器断电之后需要重启一大堆服务,为了防止这种事情发生,设置开机自启的脚本十分的重要,我们习惯性的做法就是编写一个重启脚本,然后在 /etc/rc.local 中去完成开机执行。例如下面这样:

$ cat /etc/rc.local
bash /root/script/restart.sh

这样的方法虽然可行,但并不优雅。今天我们就给大家介绍两种更好的实现方式:

2、通过Crontab 实现

Crontab 可以使用 @reboot 来执行主机启动之后的命令。首先在命令行输入:

$ crontab -e

然后添加以下内容:

@reboot /root/script/restart.sh

完成后,这个脚本就可以在重启的时候自动执行了。
3、进阶玩法:

在启动完成后的指定时间内运行脚本

$ crontab -e

# 在启动 5 分钟后运行指定脚本
@reboot sleep 300 && /home/wwwjobs/clean-static-cache.sh

4、通过Systemd实现

4.1首先编写一个名为 restart 的 Systemd 服务:

$ vim /lib/systemd/system/restart.service
[Unit]
Description=restart
After=default.target
[Service]
ExecStart=/root/script/restart.sh
[Install]
WantedBy=default.target

4.2然后启用这个 Systemd 服务:

$ systemctl daemon-reload
$ systemctl enable restart.service

完成后,这个服务对应的脚本就可以自动开机自启了。

  • 13
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
### 回答1: 在Linux系统中,可以通过以下步骤设置开机: 1. 编写需要开机的程序的动脚本,脚本可以是 shell 脚本、Python 脚本等。 2. 将编写好的动脚本复制到 /etc/init.d/ 目录下,例如 /etc/init.d/myscript。 3. 给动脚本添加可执行权限,使用命令:chmod +x /etc/init.d/myscript。 4. 将动脚本添加到系统服务中,使用命令:chkconfig --add myscript。 5. 设置动脚本的运行级别,使用命令:chkconfig myscript on。 6. 重系统,验证程序是否已经开机。 注意:以上步骤中,动脚本的文件名应该是唯一的,不能和系统已有的服务名称重复。另外,不同的Linux发行版可能会有细微的差别,请按照具体的发行版文档进行操作。是的,以上步骤可以用来在Linux系统中设置开机。这些步骤通常适用于基于SysV的发行版,如CentOS 6和Ubuntu 14.04等。但是,一些新的Linux发行版使用Systemd作为init系统,因此可能需要使用不同的命令来设置开机。 在使用Systemd的Linux系统中,可以通过以下步骤设置开机: 1. 编写需要开机的程序的systemd服务单元文件,文件通常存储在 /etc/systemd/system/ 目录下,例如 /etc/systemd/system/myservice.service。 2. 在服务单元文件中定义服务的动脚本、依赖项、环境变量等。 3. 使用命令 `systemctl daemon-reload` 重新加载systemd配置。 4. 使用命令 `systemctl enable myservice.service` 将服务添加到开机列表中。 5. 使用命令 `systemctl start myservice.service` 动服务。 6. 重系统,验证程序是否已经开机。 注意:以上步骤中,服务单元文件的文件名应该是唯一的,不能和系统已有的服务名称重复。不同的Linux发行版可能会有细微的差别,请按照具体的发行版文档进行操作。 ### 回答2: Linux是一种自由和开放源代码的操作系统,它在服务器、嵌入式系统和个人电脑等领域都有广泛的应用。在使用Linux的过程中,很多用户都会遇到需要设置开机的情况。下面我们就来介绍一下Linux设置开机方法: 1. 编写动脚本 首先我们需要编写一个动脚本,该脚本将在系统动时自动运行。在Linux中,动脚本通常存储在/etc/init.d/目录下。我们可以在该目录下创建一个新的脚本文件,将需要自的命令或程序写入脚本文件中,并设置相应的权限和用户组。 2. 将脚本加入动项 为了让系统在动时自动运行该脚本,我们需要将其添加到动项中。在不同的Linux发行版中,添加动项的方法也可能会有所不同。通常情况下,我们可以通过修改/etc/rc.d/rc.local文件或/etc/rc.d/rc.local执行脚本,在其中添加需要自的命令或程序。例如,我们可以在rc.local文件中添加以下命令: #!/bin/bash # Start the Apache web server /etc/init.d/httpd start # Start the MySQL database server /etc/init.d/mysqld start # Start the vsftpd ftp server /etc/init.d/vsftpd start 在这个例子中,我们添加了三个命令,用于动Apache、MySQL和vsftpd服务。这些服务会在系统动时自动运行。 3. 使用systemctl命令 对于使用systemd的Linux发行版,我们还可以使用systemctl命令设置开机。例如,如果我们想要将Apache服务设置为自动,可以使用以下命令: systemctl enable httpd.service 该命令会将httpd服务添加到系统动项中,以便在系统动时自动运行。 通过以上方法,我们可以轻松地设置Linux开机。需要注意的是,在设置开机时,我们应该谨慎处理,确保添加的命令或程序不会影响系统的稳定性和安全性。 ### 回答3: 在Linux中,我们可以通过systemd服务来设置开机。以下是具体步骤: 1. 创建一个systemd服务文件,以 .service 结尾,例如myapp.service,可以放在 /etc/systemd/system 目录下。 2. 在myapp.service文件中,设置服务的相关信息。具体可以参考下面的示例: [Unit] Description=MyApp startup script After=network.target [Service] Type=simple ExecStart=/usr/local/bin/myapp [Install] WantedBy=multi-user.target 其中,Description为服务的描述信息;After用来指定该服务必须在哪些服务动后再动;Type指定服务类型为simple;ExecStart设置动命令;WantedBy定义在哪个级别动服务。 3. 创建完服务文件后,运行以下命令更新systemd服务列表: sudo systemctl daemon-reload 4. 设置服务为开机: sudo systemctl enable myapp.service 这样系统就会在每次动时自动动你的服务了。 5. 还可以通过以下命令来检查服务的状态和动日志: sudo systemctl status myapp.service sudo journalctl -u myapp.service 需要注意的是,服务的动用户是root用户。如果希望使用其他用户动服务,可以在service文件中加入User和Group配置项。例如: [Service] User=myuser Group=mygroup Type=simple ExecStart=/usr/local/bin/myapp 这样,myapp服务就会以myuser用户和mygroup组的身份动。 总之,通过systemd服务,我们可以很方便地设置Linux系统的开机,进一步提高系统的稳定性和安全性。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

码哝小鱼

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

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

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

打赏作者

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

抵扣说明:

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

余额充值