CentOS 7系统启动执行脚本配置指南
启动脚本的执行机制
CentOS 7采用Systemd作为默认初始化系统,传统/etc/rc.local方式需手动启用。启动脚本在系统初始化阶段自动运行,适用于服务启动、环境配置等场景,执行时需确保脚本具有可执行权限。
配置方法一:rc.local方式
1. 启用rc.local服务:
systemctl enable rc-local.service
2. 创建脚本文件:
vi /etc/rc.d/rc.local
#!/bin/bash
# 自定义命令
/opt/scripts/myservice_start.sh
3. 赋权并验证:
chmod +x /etc/rc.d/rc.local
systemctl start rc-local.service
配置方法二:Systemd服务单元
1. 创建服务文件:
vi /etc/systemd/system/myscript.service
[Unit]
Description=Custom Startup Script
After=network.target
[Service]
ExecStart=/opt/scripts/mystartup.sh
[Install]
WantedBy=multi-user.target
2. 激活服务:
systemctl daemon-reload
systemctl enable myscript.service
配置方法三:Crontab调度
通过计划任务实现启动执行:
crontab -e
@reboot /opt/scripts/init_task.sh
关键注意事项
- 脚本权限:chmod +x 确保可执行
- 路径声明:脚本中建议使用绝对路径
- 日志记录:Systemd服务建议用journalctl -u myscript.service跟踪状态
- 依赖顺序:通过Systemd的After=参数控制启动时序
调试与验证
检查启动状态:
systemctl status rc-local.service # rc.local方式
journalctl -b -u myscript.service # Systemd服务日志
ls -l /var/log/cron # Crontab执行记录