Centos 7rc.local脚本命令开机不执行及指定用户启动的方法

1.开机不启动

在实际生产场景中,我们喜欢在安装了一些软件服务后,将软件设置为开机自启动

配置在/etc/rc.local文件中。直接将软件服务的启动命令写在rc.local文件

注意:编辑完rc.local文件后,一定要给rc.local文件执行权限,否则开机时不会执行rc.local文件中脚本命令

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

注意此处,是/etc/rc.d/rc.local,而不是/etc/rc.local,如果给/etc/rc.local执行权限是无效的,因为/etc/rc.local是软链接,真正的文件是/etc/rc.d/rc.local

2.关于在rc.local文件中指定用户执行脚本命令

使用su命令即可,命令格式:

su - username -c “your-cammand” ,如:

[jiakeke@mongodb ~]$ cat /etc/rc.local

touch /var/lock/subsys/local

/bin/systemctl start iptables.service

#startup mongodb

/bin/su - xiaoyao -c  "/mnt/mongodb/bin/mongod --config/mnt/mongodb/bin/mongodb.conf"

注意:指定用户执行的脚本(程序)目录,该用户必须有管理该脚本(程序)目录(文件)的权限。

最好将该脚本(程序)目录的所有权给该用户:

chown -R xiaoyao.xiaoyao /mnt/mongodb

CentOS 7系统中,如果你希望确保/etc/rc.local脚本在系统启动时自动执行,你需要按照以下步骤操作:首先,确保/etc/rc.local文件存在并且具有正确的权限设置。你可以使用命令`chmod +x /etc/rc.d/rc.local`来为该文件添加执行权限,这对于脚本能够被执行至关重要。接着,由于CentOS 7使用systemd作为初始化系统,你需要通过创建一个systemd服务单元来管理rc.local启动。这通常意味着你需要创建一个名为rc-local.service的文件在/etc/systemd/system/目录下,并且包含必要的配置来指定rc.local脚本的路径和执行行为。例如: 参考资源链接:[CentOS7解决开机执行/etc/rc.local问题](https://wenku.csdn.net/doc/6412b495be7fbd1778d40177?spm=1055.2569.3001.10343) ``` [Unit] Description=/etc/rc.d/rc.local Compatibility ConditionPathExists=/etc/rc.d/rc.local [Service] Type=oneshot ExecStart=/etc/rc.d/rc.local start TimeoutSec=0 StandardOutput=tty RemainAfterExit=yes SysVStartPriority=99 [Install] WantedBy=multi-user.target ``` 创建该文件后,你需要启用并启动rc-local服务以确保其在开机时自动执行: ``` sudo systemctl enable rc-local.service sudo systemctl start rc-local.service ``` 通过这种方式,rc.local文件将被systemd管理,确保在系统启动时能够执行。如果在启动rc.local脚本没有执行,你应该检查/etc/systemd/system/下的rc-local.service文件配置是否正确,以及systemd的 журналах для получения ошибок исполнения. 此外,确认rc.local脚本内没有语法错误,并且所有必要的路径和命令都可执行。最后,如果你的自定义脚本依赖于其他服务,考虑创建自定义的systemd服务单元来定义服务之间的依赖关系和正确的启动顺序。这样可以解决依赖问题,并确保rc.local脚本在依赖的服务启动执行。总之,通过确保文件权限、创建systemd服务单元,并启用相应的服务,你将能够有效地管理/etc/rc.localCentOS 7系统启动时的执行。 参考资源链接:[CentOS7解决开机执行/etc/rc.local问题](https://wenku.csdn.net/doc/6412b495be7fbd1778d40177?spm=1055.2569.3001.10343)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值