linux centos7 开机自动启动执行脚本、命令 无效——解决方式

1 篇文章 0 订阅
1 篇文章 0 订阅

>问题描述

前段时间自己弄了个虚拟机,OS centos7,在设置开机自动执行脚本时,一直不生效。经过一天摸索,总于成功。。。。
中间设置无效时,我也在网上搜了一下,都是说设置/etc/rc.d/rc.local并赋予可执行权限即可。
其实不然,还要执行一下开机启动服务的命令systemctl enable rc-local.service

>步骤(以开机执行ssh命令为例)

1、脚本(路径:/root/ssh_proxy.sh ):

#!/bin/bash
#注意:如果执行这个脚本需要免密登录192.168.42.99这台机器,或者用expect从新写脚本,实现自动输入密码。
ssh root@192.168.42.99

设置可执行权限:

chmod +x  /root/ssh_proxy.sh

2、修改rc.local权限:

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

3、在rc.local最后一行增加:

/root/ssh_proxy.sh

4、启动服务:

#rc-local.service位于/usr/lib/systemd/system
#设置开机启动(设置开机启动执行这个就行)
systemctl enable rc-local.service
#启动服务——执行后就生效
systemctl start rc-local.service
#显示服务状态——如果脚本执行失败,这条命令可以帮助你看到脚本的报错信息
systemctl status rc-local.service

执行到这里就已经配置成功了,其实就这么简单。

6、附加说明
看一下 /usr/lib/systemd/system/rc-local.service 内容:

[Unit]
Description=/etc/rc.d/rc.local Compatibility
ConditionFileIsExecutable=/etc/rc.d/rc.local
After=network.target

[Service]
Type=forking
ExecStart=/etc/rc.d/rc.local start
TimeoutSec=0
RemainAfterExit=yes

注意我这个文件里引用都是/etc/rc.d/rc.local 而非 /etc/rc.local.

ll -ah /etc/rc.local
#lrwxrwxrwx. 1 root root 13 7月  26 19:50 /etc/rc.local -> rc.d/rc.local

手动分割

  • 注:个人博客所有内容皆为工作中遇到的问题,并不代表所有情况
  • 转载请注明出处
  • 1
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值