linux命令开机自启 linux开机自动执行命令( 二 )


以上三步,即可使/root/test_chkconfig.sh /dev/null 2/dev/null 命令在服务器系统启动时自动运行 。
chkconfig的其它命令参考
CentOS7的systemd服务脚本存放在:/usr/lib/systemd/system(系统级)/usr/lib/systemd/user(用户级)下 , 以.service结尾 。这里以nginx为例
1、在/usr/lib/systemd/system目录下创建nginx.service文件
其中Service部分的Type包括如下几种类型:
2、 开启开机自启动
以上两步 , 就将nginx服务配置成了在操作系统启动时自动启动 。
其它命令参考
从字面看是PID文件不可读 , 查看/var/run/nginx.pid,该文件也确实不存在,查看nginx.conf配置文件 , 发现是pid /var/run/nginx.pid;这行配置被注释掉了,如果不指定pid文件位置 , nginx默认会把pid文件保存在logs目录中 。所以出现systemd启动服务时找不到pid文件而报错,将nginx.conf中的pid配置注释去掉 , 重启nginx.service即可 。
在Ubuntu18.04中 , 主要也是以systemd服务来实现开机自启动,systemd默认读取/etc/systemd/system/下的配置文件,该目录下的一些文件会链接到/lib/systemd/system/下的文件 。
因此可以在/etc/systemd/system/目录下面创建一个自启动服务配置 , 以内网穿透服务frp客户端为例 , 如
各配置项与CentOS类似 。然后将服务器加到自启动列表中并启动服务
其它更多systemctl命令与CentOS类似 。
也可以使用/lib/systemd/system/rc-local.service来执行一些开机需要执行的脚本,该文件内容为
从Description看它是为了兼容之前版本的/etc/rc.local的 , 该服务启动命名就是/etc/rc.local start,将该文件链接到/etc/systemd/system下
创建/etc/rc.local文件 , 并赋予可执行权限
作者:半路雨歌
链接:
linux开机自启动命令用户想要在linux开机的时候自启动相关的程序 。那我们要怎么设置呢?下面由我为大家整理了linux下开机自启动命令的相关知识 , 希望对大家有所帮助!
linux下开机自启动命令
1.开机启动时自动运行程序
Linux加载后, 它将初始化硬件和设备驱动, 然后运行第一个进程init 。init根据配置文件继续引导过程,启动其它进程 。通常情况下,修改放置在 /etc/rc或 /etc/rc.d 或 /etc/rc?.d 目录下的脚本文件,可以使init自动启动其它程序 。
例如:编辑 /etc/rc.d/rc.local 文件 , 在文件最末加上一行"xinit"或"startx",可以在开机启动后直接进入X-Window 。
扩展:其他情况下linux自启动程序命令
2.登录时自动运行程序
用户登录时 , bash首先自动执行系统管理员建立的全局登录script :/etc/profile 。然后bash在用户起始目录下按顺序查找三个特殊文件中的一个:/.bash_profile、/.bash_login、 /.profile , 但只执行最先找到的一个 。
因此 , 只需根据实际需要在上述文件中加入命令就可以实现用户登录时自动运行某些程序(类似于DOS下的Autoexec.bat) 。
3.退出登录时自动运行程序
退出登录时 , bash自动执行个人的退出登录脚本/.bash_logout 。例如 , 在/.bash_logout中加入命令"tar -cvzf c.source.tgz *.c",则在每次退出登录时自动执行 "tar" 命令备份 *.c 文件 。
4.定期自动运行程序
linux有一个称为crond的守护程序,主要功能是周期性地检查 /var/spool/cron目录下的一组命令文件的内容,并在设定的时间执行这些文件中的命令 。用户可以通过crontab 命令来建立、修改、删除这些命令文件 。
例如,建立文件crondFile,内容为"00 9 23 Jan * HappyBirthday",运行"crontab cronFile"命令后,每当元月23日上午9:00系统自动执行"HappyBirthday"的程序("*"表示不管当天是星期几) 。(/etc/crontab中配置命令即可)也可以

推荐阅读