Linux系统设置开机自动运行脚本的方法

Linux系统设置开机自动运行脚本的方法

方法1 rc.local

/etc/rc.d/rc.local文件会在linux系统各项服务都启动完毕后再被运行,可以将脚本路径加到该文件里

1)确保权限

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

2)创建脚本

cat /home/zxg/auto_run_1.sh
#!/bin/bash
date >>/home/zxg/dateout.txt
hostname >>/home/zxg/hostnameout.txt

chmod +x /home/zxg/auto_run_1.sh

3)编辑/etc/rc.d/rc.local文件

vim /etc/rc.d/rc.local
/home/zxg/auto_run_1.sh

4)重启验证

reboot

[root@localhost zxg]# init 6

Last login: Tue Aug 11 15:00:13 2020 from 10.211.55.2
[root@localhost ~]# cat /home/zxg/hostnameout.txt 
localhost
[root@localhost ~]# cat /home/zxg/dateout.txt 
Tue Aug 11 15:02:32 CST 2020
[root@localhost ~]# 

方法2 计划任务crontab

crontab是linux下的计划任务,当时间达到设定的时间运行任务,crontab有个特殊任务叫@reboot。就是重启后运行的任务

1)使用crontab -e

crontab -e
@reboot /home/zxg/auto_run_1.sh

2)重启验证

reboot

Last login: Tue Aug 11 15:02:33 2020 from 10.211.55.2
[root@localhost ~]# cat /home/zxg/hostnameout.txt 
localhost
[root@localhost ~]# cat /home/zxg/dateout.txt 
Tue Aug 11 15:05:21 CST 2020
[root@localhost ~]# 

方法3 systemd 服务

systemd系统centos7+以后支持,也可以ps aux 查看pid为1的是不是systemd

1)确认能不能使用systemd

[root@localhost ~]# ps -e
  PID TTY          TIME CMD
    1 ?        00:00:01 systemd

2)编辑

创建一个systemd启动服务,并放在/etc/systemd/system/目录下

vim auto_run_1.service
[Unit]
Description=Run a Custom Script at Startup
After=default.target

[Service]
ExecStart=/home/zxg/auto_run_1.sh

[Install]
WantedBy=default.target

3)更新配置文件及启动服务

systemctl daemon-reload
systemctl enable auto_run_1.service

4)重启验证

reboot

[root@localhost ~]# cat /home/zxg/dateout.txt 
Tue Aug 11 15:05:21 CST 2020
Tue Aug 11 15:07:49 CST 2020
[root@localhost ~]# cat /home/zxg/hostnameout.txt 
localhost
localhost
[root@localhost ~]# 

转载请注明出处:https://www.cnblogs.com/zhangxingeng/p/13475455.html

posted @ 2020-08-11 14:35  乐章  阅读(2335)  评论(1编辑  收藏  举报