一定要在Linux下创建脚本,因为windows创建的脚本不能在linux上运行。
之前就遇到过在windows上创建然后通过rz命令上传结果运行报错.
首先我们开启虚拟机后需要进入到home目录下进行创建四个对应的shell文件
(因为定时任务需要确定脚本的启动路径,所以我们进入到home录下创建所有需要的脚本)
cd /home
touch installRedis.sh
vi installRedis.sh
然后把一下脚本内容写进去
安装并配置开机自启脚本
installRedis.sh
#! /bin/bash
yum install -y gcc g++ gcc-c++ make
yum -y install ntp ntpdate
ntpdate cn.pool.ntp.org
hwclock –w
cd /usr/local
wget http://download.redis.io/releases/redis-4.0.8.tar.gz
tar -zxvf redis-4.0.8.tar.gz
cd redis-4.0.8
make MALLOC=libc
cd src
make install PREFIX=/usr/local/redis
mkdir /usr/local/redis/etc
cd ../
mkdir -p /etc/redis
sed -i 's/daemonize no/daemonize yes/g' redis.conf
sed -i 's/protected-mode yes/protected-mode no/g' redis.conf
sed -i 's/bind 127.0.0.1/bind 0.0.0.0/g' redis.conf
cp redis.conf /etc/redis
cp redis.conf /usr/local/redis
cat << EOF >> /etc/rc.local
/usr/local/redis/bin/redis-server /etc/redis/redis.conf
EOF
cat << EOF >> /etc/sysctl.conf
vm.overcommit_memory = 1
EOF
sed -i 's/\/etc\/redis\/${REDISPORT}.conf/\/etc\/redis\/redis.conf/g' /usr/local/redis-4.0.8/utils/redis_init_script
sed -i 's/CLIEXEC=\/usr\/local\/bin\/redis-cli/CLIEXEC=\/usr\/local\/redis\/bin\/redis-cli/g' /usr/local/redis-4.0.8/utils/redis_init_script
sed -i '/REDISPORT=6379/i #chkconfig: 2345 80 90' /usr/local/redis-4.0.8/utils/redis_init_script
sed -i 's/EXEC=\/usr\/local\/bin\/redis-server/EXEC=\/usr\/local\/redis\/bin\/redis-server/g' /usr/local/redis-4.0.8/utils/redis_init_script
cp -rf /usr/local/redis-4.0.8/utils/redis_init_script /etc/init.d/redis
chmod +x /etc/init.d/redis
chkconfig --add redis
service redis start
mkdir /home/log
echo "10 0 * * * root /bin/sh /home/rmLog.sh & >/dev/null 2>&1" >> /etc/crontab
echo "*/1 * * * * root /bin/sh /home/monitor.sh & >/dev/null 2>&1" >> /etc/crontab
service crond start
chmod +x /home/monitor.sh
chmod +x /home/rmLog.sh
service crond restart
继续创建脚本
touch byHand.sh
vi byHand.sh
把以下对应内容写入进入shell脚本
手动重启redis脚本
byHand.sh
#! /bin/bash
ps -ef | grep redis | grep -v grep | cut -c 9-15 | xargs kill -9
cd /usr/local/redis/bin
./redis-server
继续创建脚本
touch monitor.sh
vi monitor.sh
把以下对应内容写入进入shell脚本
日志监控服务宕机重启脚本
monitor.sh
#!/bin/sh
mdate=`date +%R-%d-%m-%Y`
nowDate=`date +%Y-%m-%d`
LogFile=/home/log/$nowDate.log
A=`ps -C redis-server --no-header | wc -l`
if [ $A -eq 0 ];then
echo $(date +%F%n%T) "redis未启动,启动redis..." $mdate >> $LogFile
cd /usr/local/redis/bin
./redis-server &
else
echo $(date +%F%n%T) "redis正在运行..." $mdate >> $LogFile
fi
继续创建脚本
touch rmLog.sh
vi rmLog.sh
把以下对应内容写入进入shell脚本
删除前七天日志脚本
rmLog.sh
#!/bin/sh
find /home/log/ -mtime 7 -name "*.log" -exec rm -rf {} \;
完成之后最后执行 脚本installRedis.sh完成redis 的安装配置以及日志监控(由于在installRedis.sh已经对其他两个shell文件设定了系统级别的定时任务,所以就不需要直接手动执行啦)
sh installRedis.sh
脚本下载地址
https://download.csdn.net/download/yyx999999/20687620