标题如下所示:
#!/bin/sh -e
#
# rc.local - executed at the end of each multiuser runlevel
#
# Make sure that the script will "exit 0" on success or any other
# value on error.
Run Code Online (Sandbox Code Playgroud)
这个文件是什么原因(内容不多),一般都放什么命令?什么是“多用户运行级别”?(我猜rc
是“运行命令”?)
我找不到在 systemd 中执行某些本地脚本(或非常本地的命令)的正确方法,我已经知道我不能为此类脚本创建服务(在 systemd 中的一个单元中)(或者我必须?)...
我发现的解决方法是创建 rc.local 并赋予它执行权限。
printf '#!/bin/bash \n\nexit 0' >/etc/rc.local
chmod +x /etc/rc.local
Run Code Online (Sandbox Code Playgroud)
例如,如果我得到一个由你配置的简单 rc.local 的旧服务器,我会知道你做了什么以及在发行版上升级或安装新东西会有多大伤害,因为 rc.local 受到外部尊重包,但另一方面,如果我安装一个服务器并创建一个或两个或三个 systemd 单元(甚至 sysvinit 服务),只是为了完成一个简单的任务,这有时会使您的生活变得更艰难,而我的单元远不止于此名称可能有一天会与发行版开发创建的新服务的名称发生冲突,并且可能在升级时安装,从而导致我的脚本出现问题!
我看到另外一个问题问哪里是rc.local中,答案是创造它,并给执行权限,我想我的问题是真的不是一个重复的,因为我不想知道它在哪里-相信我,我只是想要接受它过时,但我不能找到做这种事情的正确方法,我应该真正创造一个单元,只是这样一些简单的?
我知道 rc*.d 目录在启动时使用,或重新启动,等等,用于启动或停止程序。任何人都可以向我解释放置在/etc/
路径下的 rc*.d 文件夹和放置在/etc/rc.d/
路径下的另一个文件夹之间有什么区别。
此外,有什么之间的区别/etc/init.d
和/etc/rc.d/init.d
?
谢谢。
注意我正在运行 CentOS 6.2。
init-script directory-structure architecture sysvinit init.d
architecture ×1
debian ×1
init-script ×1
init.d ×1
rc.local ×1
startup ×1
systemd ×1
sysvinit ×1