1.给rc.local权限
chmod +x /etc/rc.d/rc.local
2.创建开机脚本并且赋权
cd ~&&touch OsInfo.sh&&chmod +x OsInfo.sh
3.脚本编写
#!/bin/bash
# 清空
echo "" > /etc/issue
echo "" > /etc/motd
# 获取所有网卡名称及IPv4地址,不去掉子网掩码
ip=`ip addr | grep inet | grep -v inet6 | awk '{print("\033[34m|\033[0m\033[32m",$NF,"\t->",$2,"\033[0m")}'`
# 间隔符
t1="\033[34m+----------------------------\033[0m"
t2="\033[34m|\033[0m\033[32m"
t3="\033[0m"
#********************下方是开机提示信息********************#
echo "" >> /etc/issue
echo -e "$t1" >> /etc/issue
echo -e "$t2 CentOS 7 $3" >> /etc/issue
echo -e "$t1" >> /etc/issue
echo -e "$t2 UserName -> root $3" >> /etc/issue
echo -e "$t2 PassWord -> Test@123 $3" >> /etc/issue
echo -e "$t1" >> /etc/issue
echo -e "$t2 NetWork $3" >> /etc/issue
echo -e "$ip" >> /etc/issue
echo -e "$t1" >> /etc/issue
echo "" >> /etc/issue
#********************下方是登入后信息********************#
echo "" >> /etc/motd
echo -e "$t1" >> /etc/motd
echo -e "$t2 CentOS 7 $3" >> /etc/motd
echo -e "$t1" >> /etc/motd
echo -e "$t2 UserName -> root $3" >> /etc/motd
echo -e "$t2 PassWord -> Test@123 $3" >> /etc/motd
echo -e "$t1" >> /etc/motd
echo -e "$t2 NetWork $3" >> /etc/motd
echo -e "$ip" >> /etc/motd
echo -e "$t1" >> /etc/motd
echo "" >> /etc/motd
4.脚本添加到rc.local中
vim /etc/rc.d/rc.local
将“/root/hello.sh”添加到rc.local的末尾
bash /root/OsInfo.sh
5.使用Systemd服务
在最新版本的CentOS(如CentOS 7及更高版本)中,/etc/rc.local
文件不再默认存在,因此不再是系统启动时执行自定义脚本的推荐方式。取而代之的是使用Systemd服务单元或Cron作业来执行自定义脚本。以下是一些替代方案: Systemd是现代Linux发行版中常用的初始化系统,您可以创建一个Systemd服务单元,以在系统启动时执行自定义脚本。以下是一个示例:
1. 创建一个Systemd服务单元文件(例如,/etc/systemd/system/my-custom-script.service
),并使用文本编辑器打开它:
sudo nano /etc/systemd/system/my-custom-script.service
2. 在该文件中定义您的自定义脚本服务单元。例如:
[Unit]
Description=My Custom Script
[Service]
Type=oneshot
ExecStart=/path/to/your/script.sh
[Install]
WantedBy=multi-user.target
其中,ExecStart
行指定要执行的脚本的路径。
3. 保存并关闭文件。
4. 启用并启动Systemd服务:
sudo systemctl enable my-custom-script
sudo systemctl start my-custom-script
禁用SELinux 将SELINUX=enforcing 改为 SELINUX=disabled,保存后重启即可。