Linux开机自动执行自定义脚本或命令

尝试了多种方法,现总结如下:

在用户登录之前自动执行

1. /etc/init.d/rcS

2. /etc/inittab

在用户登录之后自动执行:下述方法,实际尝试发现,之后再输入用户名和密码后才会自动执行。当如果不需要输入用户名或密码时,不知是否会自动执行,需要后续再做尝试。

1. /etc/profile.d/*.sh

详细说明:

1. /etc/init.d/rcS

因为在 /etc/inittab中有这条语句“::sysinit:/etc/init.d/rcS”, 表示在运行boot或bootwait进程之前运行/etc/init.d/rcS。所以在rcS中增加响应的执行命令,就可以使linux开机后自动执行响应的操作。

另外除了在rcS中增加命令,也可以再/etc/init.d中增加响应的脚本,但是脚本的命名必须是以大写的‘S’开头,否则不会被执行。这是因为在rcS中有这样的语句“for i in /etc/init.d/S??* ;do” , 他会扫描这个目录下的所有以S开头的文件并执行。

2. /etc/inittab

尝试在inittab中增加执行脚本“::sysinit:/etc/profile.d/ys.sh”, 但是会提示失败:can't run '/etc/profile.d/ys.sh': No such file or directory。有可能是这个目录在这个时间点还不能访问,如果将这个脚本放在/etc/init.d/目录下,有可能能行,需要再做尝试。

2. /etc/profile.d/*.sh

在用户登录后,会自动执行这个目录下的所有 .sh脚本。因为在/etc/profile 中有下面这样的语句“for i in /etc/profile.d/*.sh ; do”, 这样就会执行所有.sh脚本。

你可能感兴趣的:(linux,运维,服务器)