Linux配置开机自启动执行脚本方法有哪些?
一、修改 /etc/rc.d/rc.local 文件
/etc/rc.d/rc.local 用于用户自定义开机启动程序,因此可以往里写开机要执行的命令或脚本。
1、设置 rc.local 的可执行权限
# chmod +x /etc/rc.d/rc.local
2、创建待执行的脚本
# cat /home/test.sh #!/bin/bash echo "hello world" >> /home/out.txt date >> /home/out.txt
3、设置脚本的可执行权限
# chmod +x /home/test.sh
4、把脚本放到 /etc/rc.d/rc.local 尾部
# cat /etc/rc.d/rc.local ... /home/test.sh
5、重启系统使之生效
# reboot
6、查看日志文件判断脚本是否执行
# cat /home/out.txthello worldThu Dec 30 20:45:00 CST 2021
二、使用 crontab 方式
crond 是 linux 下用来周期性的执行某种任务或等待处理某些事件的一个守护进程,与 windows 下的计划任务类似,当安装完成操作系统后,默认会安装此服务 工具,并且会自动启动 crond 进程,crond 进程每分钟会定期检查是否有要执行的任务,如果有要执行的任务,则自动执行该任务。因此我们可以使用 crondtab 命令创建一个任务,让该任务在重启时进行执行。
# crontab -e//进入编辑,输入如下行@reboot /home/test.sh//重启设备# reboot //查看日志# cat /home/out.txthello worldThu Dec 30 21:09:03 CST 2021
三、使用 systemd 服务
Systemd 服务是一种以 .service 结尾的单元(unit)配置文件,用于控制由 Systemd 控制或监视的进程。简单说,用于后台以守护进程(daemon)的形式运行程序。systmd service 文件一般放在/etc/systemd/system/文件夹中。
//在/etc/systemd/system/下创建一个服务,如下# vim ser.service//[Unit] 区块:启动顺序与依赖关系。[Unit]//Description字段给出当前服务的简单描述Description=Run a Custom Script at StartupAfter=default.target//Service区块定义如何启动当前服务[Service]//ExecStart字段:定义启动进程时执行的命令ExecStart=/home/test.sh//Install区块,定义如何安装这个配置文件,即怎样做到开机启动[Install]//WantedBy字段:表示该服务所在的 Target,Target的含义是服务组,表示一组服务WantedBy=default.target//更新服务配置文件,并使能服务# systemctl daemon-reload# systemctl enable ser.service//重启系统# reboot
延伸阅读1:Linux特点
开源免费完全兼容 POSIX1.0 标准多用户多任务良好的界面支持多种平台相关推荐HOT
更多>>python正则表达式中的零宽断言
python正则表达式中的零宽断言1、概念有些元字符不匹配任何字符,只是简单的表示成功或失败,所以这些字符也叫零宽断言。2、符号举例(1)|或操作...详情>>
2023-11-14 11:35:03python方法的绑定和未绑定
python方法的绑定和未绑定1、说明未绑定对象的方法:无self参数的方法,通过定义类调用函数,返回未绑定self的方法。绑定对象的方法:带self参...详情>>
2023-11-14 09:53:02python海象运算符的使用
python海象运算符的使用1、在判断条件下允许操作。在一定程度上简化了代码,但降低了可读性。i=len((l:=[1,2,3]))#先对l进行赋值,在对i赋值whi...详情>>
2023-11-14 02:38:21pythonelif语句报错是什么原因
python的else和elif语句也可以叫做子句,因为它们不能独立使用,两者都是出现在if、for、while语句内部的。else子句可以增加一种选择;而elif子...详情>>
2023-11-13 21:46:35