本人比较菜,大佬轻喷。执行权限加了,/etc/rc.local 也是有权限的。网上搜的答案基本相同,不知道还有没有其它原因会导致不执行
1
love 2019-10-31 21:20:12 +08:00
技能该更新了,写个 systemd 的 service 文件也就分分钟的事,还更灵活
|
2
fuyunqishi OP @love 感谢回复,这个文件里面是之前运维放了个自动化脚步在里面。但是不知道怎么不执行了。是个软件的话加 service 是挺好,但是这个自动化脚本还不知道怎么加进去
|
3
eason1874 2019-10-31 21:44:39 +08:00
随手搜了一下 systemd 服务脚本的编写,感觉很容易,就是一个描述性文件,ExecStart 执行的可以是 .sh 文件
|
4
cjpjxjx 2019-10-31 21:45:05 +08:00
以前遇到过,最后发现是脚本运行所依赖的服务还没有启动完成导致运行失败,最后脚本前面加了个 sleep 解决了,我也菜,仅提供一个思路
|
5
fuyunqishi OP @eason1874 谢谢,我再试试
|
6
hasdream 2019-10-31 21:49:29 +08:00 via Android
看下这个文件有没有执行权限, 以前碰到类似问题,原因为执行权限
|
7
fuyunqishi OP @cjpjxjx 谢谢回答,这个已经排除了。
|
8
auciou2 2019-10-31 22:38:15 +08:00
这种问题在 CentOS 下经常会遇到,因为 CentOS 开机比较慢,同 4 楼的回复,解决的办法我是先加 2 次 sleep,一次 60 秒,一次 120 秒,然后执行要执行的命令,最后 killall sleep 进程,例如:
sleep 60; sleep 120; >/var/log/btmp; killall -9 syslogd; killall -9 sleep; 一般都能解决。 |
9
0ZXYDDu796nVCFxq 2019-10-31 23:55:52 +08:00
CentOS 6.1,发布日期 2011-12-09
真是有点年头了 |
12
HEROic 2019-11-01 01:26:21 +08:00 via Android
脚本是有启动顺序的~ 感觉是前面的服务脚本还没完全启动导致的
|
13
snuglove 2019-11-01 08:04:10 +08:00 via Android
建议贴图看看,一般不执行可能是执行权限或者内容写的有问题。
|
14
vagrom 2019-11-01 08:45:17 +08:00
楼主试过,单独运行你 rc.local 中的命令,可以正常运行么?
|
15
saytesnake 2019-11-01 09:29:38 +08:00
在上古时代的 rc.local,不执行的原因绝大部分都是因为一些命令找不到,所以执行不了,没加载变量导致,所以除非你确认脚本本身无问题,那就 export 一下变量吧。
|
16
FancyKing 2019-11-01 09:46:05 +08:00
我也遇到过,当时的情况是不一定自动运行,就是有时候他执行有时候他不执行
最后看的某个论坛的讨论区是加了 sleep 之后有效了 |
17
klakekent 2019-11-01 10:03:04 +08:00
看下 /var/log/boot.log 启动日志 里面能找到线索
|
18
Oa 2019-11-01 10:58:56 +08:00
这个要 chmod +x 一下 就可以了
|
19
tomychen 2019-11-01 11:03:09 +08:00
各位 systemd 大佬们... 人家是 CentOS6.1 别抖了好么
环境变量? 或者把功能移到 /etc/init.d |
20
fuyunqishi OP @vagrom 单独运行是可以的
|
21
coolloves 2019-11-01 13:27:13 +08:00
/etc/rc.d/rc.local 要这里 +x
|