Linux系统下如何设置开机自动运行脚本?以Redis开机自启为例
参考链接:https://baijiahao.baidu.com/s?id=1722174560616569543&wfr=spider&for=pc
前言:
最近在安装Redis的时候,想找下Redis开机自启的功能,在网上找了很多的教程,貌似很多都是没太大用的。
自己试了一种方法是通过reids自带的utils/install_server.sh,来执行,但是我试了,不能够指定我自己的reids配置文件
所以就想通过脚本的方式,进行启动reids。
第一种方式:修改 /etc/rc.d/rc.local 文件
小坑:查看/etc/rc.d/rc.local是否有执行权限(ls -l /etc/rc.d/rc.local)
如果没有执行权限,则需要修改,赋予执行权限:chmod +x /etc/rc.d/rc.local
1、新建Redis启动脚本
新建:reboot_auto_redis.sh和reboot_auto_redis.log文件,写入脚本内容
#!/bin/bash cd /usr/local/redis/src ./redis-server ../redis.conf &
给脚本赋予执行权限:chmod 777 ./reboot_auto_redis.*
2、编辑/etc/rc.d/rc.local文件
在底部写入内容:
# redis开机自启脚本 /usr/local/redis/reboot_auto_redis.sh >/usr/local/redis/reboot_auto_redis.log 2>&1
3、重启系统测试是否生效
重启:reboot
查看日志文件,看到redis已经重启:cat /usr/local/redis/reboot_auto_redis.log
[root@zhixi ~]# cat /usr/local/redis/reboot_auto_redis.log 1470:C 28 Oct 2022 16:23:19.636 # oO0OoO0OoO0Oo Redis is starting oO0OoO0OoO0Oo 1470:C 28 Oct 2022 16:23:19.636 # Redis version=5.0.4, bits=64, commit=00000000, modified=0, pid=1470, just started 1470:C 28 Oct 2022 16:23:19.636 # Configuration loaded [root@zhixi ~]# ps -ef|grep redis|grep -v grep root 1473 1 0 16:23 ? 00:00:00 ./redis-server *:6379
第二种方式:Crontab
# crontab -e
写入以下内容:表示在执行reboot命令后,执行该脚本内容
@reboot /usr/local/redis/reboot_auto_redis.sh