master
parent
18db1ff3d9
commit
c38c8581b1
@ -0,0 +1,6 @@ |
|||||||
|
[submodule "shell-project"] |
||||||
|
path = shell-project |
||||||
|
url = https://gitea.beyourself.org.cn/newrain001/shell-project.git |
||||||
|
[submodule "python-project"] |
||||||
|
path = python-project |
||||||
|
url = https://gitea.beyourself.org.cn/newrain001/python-project.git |
@ -0,0 +1 @@ |
|||||||
|
Subproject commit 9d2b273786449b4ec3946fe393004b51e711d963 |
@ -1,30 +0,0 @@ |
|||||||
#!/usr/bin/env bash |
|
||||||
#history |
|
||||||
|
|
||||||
# 获取登录ip地址 |
|
||||||
# USER_IP=`who -u am i 2>/dev/null| awk '{print $NF}'|sed -e 's/[()]//g'` |
|
||||||
USER_IP=$(env |grep SSH_CLIENT | awk '{print $1}' | sed 's/SSH_CLIENT=//' | awk -F " " '{print $1}') |
|
||||||
# 指定历史命令路径 |
|
||||||
HISTDIR=/usr/share/.history |
|
||||||
if [ -z $USER_IP ] |
|
||||||
then |
|
||||||
USER_IP=`hostname` |
|
||||||
fi |
|
||||||
if [ ! -d $HISTDIR ] |
|
||||||
then |
|
||||||
mkdir -p $HISTDIR |
|
||||||
chmod 777 $HISTDIR |
|
||||||
fi |
|
||||||
if [ ! -d $HISTDIR/${LOGNAME} ] |
|
||||||
then |
|
||||||
mkdir -p $HISTDIR/${LOGNAME} |
|
||||||
chmod 300 $HISTDIR/${LOGNAME} |
|
||||||
fi |
|
||||||
# 设置历史命令条数 |
|
||||||
export HISTSIZE=4000 |
|
||||||
# 设置文件后缀 |
|
||||||
DT=`date +%Y%m%d_%H%M%S` |
|
||||||
export HISTFILE="$HISTDIR/${LOGNAME}/${USER_IP}.history.$DT" #文件路径 |
|
||||||
export HISTTIMEFORMAT="[%Y.%m.%d %H:%M:%S] " #记录格式 |
|
||||||
# 设置权限 |
|
||||||
chmod 600 $HISTDIR/${LOGNAME}/*.history* 2>/dev/null |
|
@ -1,8 +0,0 @@ |
|||||||
#!/usr/bin/bash |
|
||||||
echo "版本信息可查看 https://dn-dao-github-mirror.daocloud.io/docker/compose/releases/" |
|
||||||
LEVEL=${DOCKER_COMPOSE_LEVEL:-1.20.1} |
|
||||||
curl -L https://get.daocloud.io/docker/compose/releases/download/${LEVEL}/docker-compose-`uname -s`-`uname -m` -o /usr/local/bin/docker-compose && chmod a+x /usr/local/bin/docker-compose |
|
||||||
|
|
||||||
if [ -z $DOCKER_COMPOSE_LEVEL ];then |
|
||||||
echo "采用默认版本1.20.1,如需要指定版本,可以在终端执行 export DOCKER_COMPOSE_LEVEL=版本" |
|
||||||
fi |
|
@ -1,35 +0,0 @@ |
|||||||
#!/bin/bash |
|
||||||
|
|
||||||
TAG_PREFIX= |
|
||||||
|
|
||||||
save(){ |
|
||||||
if [ ! -d "./images" ]; then |
|
||||||
mkdir images |
|
||||||
fi |
|
||||||
cd images |
|
||||||
docker images --format "{{.ID}} {{.Repository}}:{{.Tag}} {{.Size}}" |grep $TAG_PREFIX > images_pull.txt |
|
||||||
while read line |
|
||||||
do |
|
||||||
image_id=`echo $line | awk '{print $1}'` |
|
||||||
image_repository=`echo $line | awk '{print $2}'` |
|
||||||
image_size=`echo $line | awk '{print $3}'` |
|
||||||
docker save -o $image_id.tar $image_repository && \ |
|
||||||
echo "Image $image_repository saved, size $image_size" |
|
||||||
done < images_pull.txt |
|
||||||
} |
|
||||||
|
|
||||||
load(){ |
|
||||||
cd images |
|
||||||
while read line |
|
||||||
do |
|
||||||
image_id=`echo $line | awk '{print $1}'` |
|
||||||
image_repository=`echo $line | awk '{print $2}'` |
|
||||||
docker load -i $image_id.tar && \ |
|
||||||
echo "Image $image_repository loaded" |
|
||||||
done < images_pull.txt |
|
||||||
} |
|
||||||
if [ -z "$1" ]; then |
|
||||||
echo "Usage: image_operation.sh [save|load]" |
|
||||||
fi |
|
||||||
|
|
||||||
eval $1 |
|
@ -1,34 +0,0 @@ |
|||||||
#!/usr/bin/bash |
|
||||||
|
|
||||||
set -e |
|
||||||
unset c |
|
||||||
color(){ |
|
||||||
declare -A c=([Error]=31 [Success]=32 [Warning]=33 [Info]=34) |
|
||||||
#echo -e "\033[${c[$1]}m[`date +%T`]($1) $2\033[0m" |
|
||||||
printf "\033[${c[$1]}m%-10s%-10s %-30s\033[0m\n" "[`date +%T`]" "($1)" "$2" |
|
||||||
sleep 0.5 |
|
||||||
} |
|
||||||
|
|
||||||
install(){ |
|
||||||
color Info "开始安装docker服务" |
|
||||||
yum install -y yum-utils device-mapper-persistent-data lvm2 git && \ |
|
||||||
yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo && \ |
|
||||||
yum install -y docker-ce |
|
||||||
mkdir -p /etc/docker |
|
||||||
color Success "安装完成" |
|
||||||
color Info "开始配置镜像加速器" |
|
||||||
tee /etc/docker/daemon.json <<-'EOF' |
|
||||||
{ |
|
||||||
"registry-mirrors": ["https://pilvpemn.mirror.aliyuncs.com"] |
|
||||||
} |
|
||||||
EOF |
|
||||||
cat >> /etc/sysctl.conf <<EOF |
|
||||||
net.bridge.bridge-nf-call-ip6tables = 1 |
|
||||||
net.bridge.bridge-nf-call-iptables = 1 |
|
||||||
net.ipv4.ip_forward=1 |
|
||||||
EOF |
|
||||||
systemctl daemon-reload && \ |
|
||||||
systemctl enable docker --now |
|
||||||
} |
|
||||||
install |
|
||||||
color Success "配置完成" |
|
@ -1,8 +0,0 @@ |
|||||||
#!/usr/bin/bash |
|
||||||
|
|
||||||
yum -y install bash-completion |
|
||||||
source /usr/share/bash-completion/bash_completion |
|
||||||
|
|
||||||
source <(kubectl completion bash) |
|
||||||
|
|
||||||
echo "source <(kubectl completion bash)" >> ~/.bashrc |
|
@ -1,46 +0,0 @@ |
|||||||
#!/bin/bash |
|
||||||
# by newrain |
|
||||||
# time 2019-11-28 |
|
||||||
# lv 2.0 |
|
||||||
level=5.7 |
|
||||||
password="QianFeng@123" |
|
||||||
remote_user="remote" |
|
||||||
remote_passwd="QianFeng@123" |
|
||||||
unset c |
|
||||||
color(){ |
|
||||||
declare -A c=([Error]=31 [Success]=32 [Warning]=33 [Info]=34) |
|
||||||
#echo -e "\033[${c[$1]}m[`date +%T`]($1) $2\033[0m" |
|
||||||
printf "\033[${c[$1]}m%-10s%-10s %-30s\033[0m\n" "[`date +%T`]" "($1)" "$2" |
|
||||||
sleep 0.5 |
|
||||||
} |
|
||||||
|
|
||||||
color Info "此脚本用于yum 安装mysql" |
|
||||||
color Warning "此脚本将删除所有mysql数据,如需备份请ctrl+c终止脚本,程序将在3秒后执行" |
|
||||||
sleep 3 |
|
||||||
if [[ $UID -ne 0 ]];then |
|
||||||
color Warning "使用root 执行此脚本" |
|
||||||
exit 1 |
|
||||||
fi |
|
||||||
|
|
||||||
color Warning "清理环境" |
|
||||||
systemctl stop mysqld mariadb &>/dev/null |
|
||||||
yum erase -y `rpm -qa |grep mariadb` 2>/dev/null |
|
||||||
yum erase -y `rpm -qa |grep mysql` 2>/dev/null |
|
||||||
rm -rvf /etc/my.cnf /var/lib/mysql /var/log/mysql* |
|
||||||
userdel -rf mysql &>/dev/null |
|
||||||
ping -c1 -w1 www.baidu.com &>/dev/null |
|
||||||
if [[ $? -eq 0 ]];then |
|
||||||
if [ ! -f /tmp/.init ];then |
|
||||||
yum install -y https://dev.mysql.com/get/mysql80-community-release-el7-1.noarch.rpm |
|
||||||
fi |
|
||||||
else |
|
||||||
color Error "网络错误" |
|
||||||
exit 22 |
|
||||||
fi |
|
||||||
yum -y install mysql-community-server mysql-community-devel --disablerepo mysql80 --enablerepo mysql57 --nogpgcheck |
|
||||||
systemctl start mysqld |
|
||||||
color Warning "启动成功,初始密码如下(mysql5.7前版本没有初始密码)" |
|
||||||
passwd=$(grep -o 'root@localhost.*' /var/log/mysqld.log | awk 'END{print $NF}') |
|
||||||
mysqladmin -uroot -p$passwd password $password && \ |
|
||||||
mysql -uroot -p$password -e "grant all on *.* to \"$remote_user\"@'%' identified by \"$remote_passwd\"; flush privileges;" |
|
||||||
color Success "安装完成 初始密码为$password" |
|
@ -1,82 +0,0 @@ |
|||||||
#!/usr/bin/bash |
|
||||||
|
|
||||||
unset c |
|
||||||
color(){ |
|
||||||
declare -A c=([Error]=31 [Success]=32 [Warning]=33 [Info]=34) |
|
||||||
#echo -e "\033[${c[$1]}m[`date +%T`]($1) $2\033[0m" |
|
||||||
printf "\033[${c[$1]}m%-10s%-10s %-30s\033[0m\n" "[`date +%T`]" "($1)" "$2" |
|
||||||
sleep 0.5 |
|
||||||
} |
|
||||||
cpu(){ |
|
||||||
cpus=$(grep processor /proc/cpuinfo |wc -l) |
|
||||||
cpuModel=$(grep "model name" /proc/cpuinfo | uniq | awk -F ':' '{print $2}') |
|
||||||
cpuCache=$(grep "cache size" /proc/cpuinfo | uniq | awk -F ':' '{print $2}') |
|
||||||
printf "%-10s\t%-50s\n" "[CPU]" "[Info]" |
|
||||||
printf "%-10s\t%-50s\n" "cpu核心:" "${cpus/ /}核" |
|
||||||
printf "%-10s\t%-50s\n" "cpu型号:" "${cpuModel/ /}" |
|
||||||
printf "%-10s\t%-50s\n" "cpu缓存:" "${cpuCache/ /}" |
|
||||||
} |
|
||||||
memory(){ |
|
||||||
memTotal=$(awk -F':' '/MemTotal:/{print $2}' /proc/meminfo | awk '{print $1,$2}') |
|
||||||
memFree=$(awk -F':' '/MemFree:/{print $2}' /proc/meminfo | awk '{print $1,$2}') |
|
||||||
memBuffer=$(awk -F':' '/Buffers:/{print $2}' /proc/meminfo | awk '{print $1,$2}') |
|
||||||
memCached=$(awk -F':' '/^Cached:/{print $2}' /proc/meminfo | awk '{print $1,$2}') |
|
||||||
swapTotal=$(awk -F':' '/SwapTotal:/{print $2}' /proc/meminfo | awk '{print $1,$2}') |
|
||||||
swapFree=$(awk -F':' '/SwapFree:/{print $2}' /proc/meminfo | awk '{print $1,$2}') |
|
||||||
memDevice=$(dmidecode |grep -P -A 5 "Memory Device"|grep Size|grep -v 'Range' | wc -l) |
|
||||||
maxMem=$(dmidecode |grep "Maximum Capacity" | awk '{print $3,$4}') |
|
||||||
maxHz=$(dmidecode |grep "Max Speed" |uniq | awk '{print $3,$4}') |
|
||||||
printf "%-10s\t%-50s\n" "[Memory]" "[Info]" |
|
||||||
printf "%-10s\t%-50s\n" "内存总量:" "$memTotal" |
|
||||||
printf "%-10s\t%-50s\n" "内存剩余:" "$memFree" |
|
||||||
printf "%-10s\t%-50s\n" "内存写缓:" "$memBuffer" |
|
||||||
printf "%-10s\t%-50s\n" "内存读缓:" "$memCached" |
|
||||||
printf "%-10s\t%-50s\n" "临时缓存总量:" "$swapTotal" |
|
||||||
printf "%-10s\t%-50s\n" "临时缓存剩余:" "$swapFree" |
|
||||||
printf "%-10s\t%-50s\n" "内存条数:" "$memDevice" |
|
||||||
printf "%-10s\t%-50s\n" "最大支持内存:" "$maxMem" |
|
||||||
printf "%-10s\t%-50s\n" "内存频率:" "$maxHz" |
|
||||||
} |
|
||||||
disk(){ |
|
||||||
printf "%-10s\t%-15s\t%-30s\t%-5s\n" "[MountPoint]" "[Used]" "[FileSystem]" "[Size]" |
|
||||||
df -Th | awk 'BEGIN{ORS="\n"}$2 ~ /(ext|xfs)/{printf "%-10s\t%-15s\t%-30s\t%-5s\n",$NF,$(NF-1),$1,$3}' |
|
||||||
} |
|
||||||
|
|
||||||
os(){ |
|
||||||
os_release=$(hostnamectl | awk -F': ' '/Operating System/{print $2}') |
|
||||||
os_kernel=$(hostnamectl | awk -F': ' '/Kernel/{print $2}') |
|
||||||
hostname=$(hostnamectl | awk -F': ' '/Static hostname/{print $2}') |
|
||||||
printf "%-10s\t%-20s\n" "[Info]" "[Value]" |
|
||||||
printf "%-20s\t%-20s\n" "系统版本:" "$os_release" |
|
||||||
printf "%-20s\t%-20s\n" "内核版本:" "$os_kernel" |
|
||||||
printf "%-20s\t%-20s\n" "主机名称:" "$hostname" |
|
||||||
netIf=$(ip -f inet a | awk '/^[0-9]/{print $0}' |awk -F':' '{print $2}') |
|
||||||
netIfs=$(echo netIf |wc -w) |
|
||||||
printf "%-20s\t%-20s\t%-18s\n" "[InterFace]" "[IpAddress]" "[MacAddress]" |
|
||||||
for i in $netIf |
|
||||||
do |
|
||||||
# 网卡ip |
|
||||||
iname=$(ip -f inet a show dev $i | awk '/inet/{print $2}') |
|
||||||
# 网卡mac |
|
||||||
mname=$(ip -f link a show dev $i |awk '/link/{print $2}') |
|
||||||
printf "%-20s\t%-20s\t%-18s\n" "$i" "$iname" "$mname" |
|
||||||
done |
|
||||||
} |
|
||||||
|
|
||||||
color Info "开始读取本地信息" |
|
||||||
|
|
||||||
main(){ |
|
||||||
color Success "中央处理器信息" |
|
||||||
# cpu 信息查询函数 |
|
||||||
cpu |
|
||||||
color Success "内存信息" |
|
||||||
# 内存 信息查询函数 |
|
||||||
memory |
|
||||||
color Success "网络信息" |
|
||||||
os |
|
||||||
# 磁盘信息 |
|
||||||
color Success "磁盘信息" |
|
||||||
disk |
|
||||||
} |
|
||||||
|
|
||||||
main |
|
@ -1,106 +0,0 @@ |
|||||||
#!/usr/bin/bash |
|
||||||
|
|
||||||
color(){ |
|
||||||
unset c |
|
||||||
declare -A c=([Error]=31 [Success]=32 [Warning]=33 [Info]=34) |
|
||||||
#echo -e "\033[${c[$1]}m[`date +%T`]($1) $2\033[0m" |
|
||||||
printf "\033[${c[$1]}m%-10s%-10s %-30s\033[0m\n" "[`date +%T`]" "($1)" "$2" |
|
||||||
sleep 0.5 |
|
||||||
} |
|
||||||
|
|
||||||
static_addr(){ |
|
||||||
ifname=$(ip -f inet a | awk '/^2/{print $2}') |
|
||||||
ifname=$(echo ${ifname/:/}) |
|
||||||
ipaddr=$(ip -f inet a show dev $ifname | awk '/inet/{print $2}' | awk -F'/' '{print $1}') |
|
||||||
prefix=$(ip -f inet a show dev $ifname | awk '/inet/{print $2}' | awk -F'/' '{print $2}') |
|
||||||
gateway=$(ip r |awk '/default/{print $3}') |
|
||||||
cat > /etc/sysconfig/network-scripts/ifcfg-$ifname <<EOF |
|
||||||
TYPE="Ethernet" |
|
||||||
PROXY_METHOD="none" |
|
||||||
BROWSER_ONLY="no" |
|
||||||
BOOTPROTO="static" |
|
||||||
DEFROUTE="yes" |
|
||||||
IPV4_FAILURE_FATAL="no" |
|
||||||
NAME="${ifname}" |
|
||||||
UUID="`uuidgen`" |
|
||||||
DEVICE="${ifname}" |
|
||||||
ONBOOT="yes" |
|
||||||
IPADDR=${ipaddr} |
|
||||||
PREFIX=${prefix} |
|
||||||
GATEWAY=${gateway} |
|
||||||
DNS1=${gateway} |
|
||||||
DNS2=114.114.114.114 |
|
||||||
DNS3=8.8.8.8 |
|
||||||
EOF |
|
||||||
systemctl restart network |
|
||||||
ping -w1 -c1 www.baidu.com &>/dev/null && \ |
|
||||||
return 10 || \ |
|
||||||
return 20 |
|
||||||
} |
|
||||||
|
|
||||||
local_yum_make(){ |
|
||||||
cd /etc/yum.repos.d/ && \ |
|
||||||
rename .repo .repo.bak *.repo &>/dev/null |
|
||||||
grep '10.8.161.40 package.qf.com' /etc/hosts &>/dev/null |
|
||||||
if [ $? -ne 0 ];then |
|
||||||
cat >> /etc/hosts <<EOF |
|
||||||
10.8.161.40 package.qf.com |
|
||||||
EOF |
|
||||||
fi |
|
||||||
curl -o /etc/yum.repos.d/centos7.repo http://download.beyourself.org.cn/repo/centos7-repo && \ |
|
||||||
yum repolist && yum clean all && yum makecache && \ |
|
||||||
color Success "本地源配置完成" || color Error "yum配置错误,可以\ncd /etc/yum.repos.d/ && rm -rf centos7.repo && rename .repo.bak .repo *.repo.bak \n使用手动恢复历史yum" |
|
||||||
} |
|
||||||
|
|
||||||
remote_yum_make(){ |
|
||||||
cd /etc/yum.repos.d/ && \ |
|
||||||
rename .repo .repo.bak *.repo &>/dev/null |
|
||||||
curl -o /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-7.repo |
|
||||||
curl -o /etc/yum.repos.d/epel.repo https://mirrors.aliyun.com/repo/epel-7.repo |
|
||||||
yum repolist && yum clean all && yum makecache && \ |
|
||||||
color Success "阿里源配置完成" || color Error "yum配置错误,可以\ncd /etc/yum.repos.d/ && rm -rf centos7.repo && rename .repo.bak .repo *.repo.bak \n使用手动恢复历史yum" |
|
||||||
} |
|
||||||
|
|
||||||
init(){ |
|
||||||
color Success "开始配置静态ip" |
|
||||||
static_addr |
|
||||||
if [ $? -eq 10 ];then |
|
||||||
color Success "静态ip配置并检测完成" |
|
||||||
else |
|
||||||
color Error "静态ip配置异常" |
|
||||||
fi |
|
||||||
color Info "正在关闭防火墙、selinux" |
|
||||||
color Warning "注意,这将降低服务器安全性" |
|
||||||
systemctl disable firewalld postfix --now && \ |
|
||||||
setenforce 0 ; sed -i 's/SELINUX=.*/SELINUX=disabled/g' /etc/selinux/config && \ |
|
||||||
color Success "配置完成" || color Error "配置异常,请检查" |
|
||||||
color Info "配置yum源, 此操作将备份您的历史源" |
|
||||||
ping -w 1 -c 1 10.8.161.40 &>/dev/null |
|
||||||
if [ $? -eq 0 ];then |
|
||||||
local_yum_make |
|
||||||
else |
|
||||||
remote_yum_make |
|
||||||
fi |
|
||||||
color Info "开始安装常用软件" |
|
||||||
yum install -y wget unzip vim yum-utils httpd-tools psacct net-tools nc ntpdate jq htop && \ |
|
||||||
color Success "安装完成" || color Warning "部分包可能失败" |
|
||||||
color Info "开始进行时间校准" |
|
||||||
ntpdate ntp.aliyun.com && \ |
|
||||||
# 修改时间到硬件 |
|
||||||
clock -w |
|
||||||
#保存时间到硬件 |
|
||||||
hwclock -s |
|
||||||
color Success "时间校准完成" |
|
||||||
# color Info "修改终端前缀显示" |
|
||||||
# cat > /etc/profile.d/psdiy.sh <<EOF |
|
||||||
# export PS1="[\e[32m(\t)\u\e[36m@\h\e[31m\e[0m \W]\$ " |
|
||||||
# EOF |
|
||||||
# color Success "修改完成,重新进入终端查看" |
|
||||||
echo {"time": "`date +'%F %T'`"} > /tmp/.init |
|
||||||
} |
|
||||||
if [ -f /tmp/.init ];then |
|
||||||
color Success "检测到此前已进行初始化,如需重新执行,请删除: rm -f /tmp/.init" |
|
||||||
exit 0 |
|
||||||
fi |
|
||||||
init |
|
||||||
color Success "初始化完成" |
|
@ -1,39 +0,0 @@ |
|||||||
#!/usr/bin/bash |
|
||||||
|
|
||||||
path=/opt/py3104 |
|
||||||
unset c |
|
||||||
color(){ |
|
||||||
declare -A c=([Error]=31 [Success]=32 [Warning]=33 [Info]=34) |
|
||||||
#echo -e "\033[${c[$1]}m[`date +%T`]($1) $2\033[0m" |
|
||||||
printf "\033[${c[$1]}m%-10s%-10s %-30s\033[0m\n" "[`date +%T`]" "($1)" "$2" |
|
||||||
sleep 0.5 |
|
||||||
} |
|
||||||
|
|
||||||
mkdir -pv $path |
|
||||||
cd $path && \ |
|
||||||
yum -y install gcc gcc-c++ zlib-devel bzip2-devel sqlite-devel readline-devel libffi-devel && \ |
|
||||||
color Info "openssl 包下载,请稍等..." && \ |
|
||||||
wget http://download.beyourself.org.cn/package/openssl-1.1.1n.tar.gz && \ |
|
||||||
tar xf openssl-1.1.1n.tar.gz && \ |
|
||||||
cd openssl-1.1.1n && \ |
|
||||||
./config --prefix=/usr/local/openssl && \ |
|
||||||
make -j $(cat /proc/cpuinfo | grep processor |wc -l) && make install && cd .. && \ |
|
||||||
wget http://download.beyourself.org.cn/package/Python-3.10.4.tar.xz && \ |
|
||||||
tar xf Python-3.10.4.tar.xz && \ |
|
||||||
cd Python-3.10.4 && \ |
|
||||||
./configure --enable-shared --prefix=/usr/local/python3.10.4 --with-openssl=/usr/local/openssl --with-openssl-rpath=auto && \ |
|
||||||
make -j $(cat /proc/cpuinfo | grep processor |wc -l) && \ |
|
||||||
make install && \ |
|
||||||
echo "/usr/local/python3.10.4/lib" >> /etc/ld.so.conf && \ |
|
||||||
ldconfig && \ |
|
||||||
echo "export PATH=/usr/local/python3.10.4/bin:\$PATH" >> /etc/profile && \ |
|
||||||
color Success "python安装完成" |
|
||||||
|
|
||||||
color Info "配置pip加速" |
|
||||||
mkdir ~/.pip &>/dev/null |
|
||||||
tee ~/.pip/pip.conf <<EOF |
|
||||||
[global] |
|
||||||
index_url=https://mirrors.aliyun.com/pypi/simple |
|
||||||
timeout=6000 |
|
||||||
EOF |
|
||||||
color Success "配置完成" |
|
@ -1,100 +0,0 @@ |
|||||||
#!/usr/bin/bash |
|
||||||
|
|
||||||
<<! |
|
||||||
redis 多实例配置脚本 |
|
||||||
! |
|
||||||
|
|
||||||
REDIS_INSTALL_PATH=/data/application/redis |
|
||||||
REDIS_COMMAND_PATH=$REDIS_INSTALL_PATH/src |
|
||||||
REDIS_CONFIG_PATH=$REDIS_INSTALL_PATH/redis.conf |
|
||||||
REDIS_BIND_IP="0.0.0.0" |
|
||||||
REDIS_PORT=6379 |
|
||||||
REDIS_INSTANCE_PATH=/opt/instace/redis |
|
||||||
ERROR_INFO=" |
|
||||||
Usage: $0 \n |
|
||||||
\t-i\t--install 安装redis\n |
|
||||||
\t-s\t--instance 多实例配置\n |
|
||||||
\t--start\t启动redis\n |
|
||||||
\t--stop\t停止redis\n" |
|
||||||
|
|
||||||
install_function(){ |
|
||||||
if [ ! -d $REDIS_INSTALL_PATH ];then |
|
||||||
mkdir -p $REDIS_INSTALL_PATH |
|
||||||
fi |
|
||||||
yum -y install gcc gcc-c++ make wget |
|
||||||
wget http://download.redis.io/releases/redis-4.0.9.tar.gz && \ |
|
||||||
tar -zxvf redis-4.0.9.tar.gz && \ |
|
||||||
cp -r redis-4.0.9/* $REDIS_INSTALL_PATH && \ |
|
||||||
rm -rf redis-4.0.9 redis-4.0.9.tar.gz |
|
||||||
cd $REDIS_INSTALL_PATH && \ |
|
||||||
make |
|
||||||
echo -e "安装完成\nredis安装目录:$REDIS_INSTALL_PATH\nredis配置文件:$REDIS_CONFIG_PATH\nredis命令目录:$REDIS_COMMAND_PATH" |
|
||||||
} |
|
||||||
|
|
||||||
install_instance_function(){ |
|
||||||
INSTANCE_NAME=$1 |
|
||||||
if [ ! -d $REDIS_INSTANCE_PATH ];then |
|
||||||
mkdir -p $REDIS_INSTANCE_PATH |
|
||||||
fi |
|
||||||
if [ ! -d $REDIS_INSTALL_PATH ];then |
|
||||||
echo "请先安装redis,或修改脚本中的安装目录" |
|
||||||
exit 1 |
|
||||||
fi |
|
||||||
if [ -d $REDIS_INSTANCE_PATH/$INSTANCE_NAME ];then |
|
||||||
echo "实例已存在" |
|
||||||
exit 1 |
|
||||||
fi |
|
||||||
mkdir -p $REDIS_INSTANCE_PATH/$INSTANCE_NAME |
|
||||||
cp $REDIS_CONFIG_PATH $REDIS_INSTANCE_PATH/$INSTANCE_NAME/redis.conf |
|
||||||
sed -i "s#^port.*#port $INSTANCE_NAME#" $REDIS_INSTANCE_PATH/$INSTANCE_NAME/redis.conf |
|
||||||
sed -i "s#^bind.*#bind $REDIS_BIND_IP#" $REDIS_INSTANCE_PATH/$INSTANCE_NAME/redis.conf |
|
||||||
sed -i "s#^pidfile.*#pidfile $REDIS_INSTANCE_PATH/$INSTANCE_NAME/redis_$INSTANCE_NAME.pid#" $REDIS_INSTANCE_PATH/$INSTANCE_NAME/redis.conf |
|
||||||
sed -i "s#^logfile.*#logfile $REDIS_INSTANCE_PATH/$INSTANCE_NAME/redis_$INSTANCE_NAME.log#" $REDIS_INSTANCE_PATH/$INSTANCE_NAME/redis.conf |
|
||||||
sed -i "s#^dir.*#dir $REDIS_INSTANCE_PATH/$INSTANCE_NAME#" $REDIS_INSTANCE_PATH/$INSTANCE_NAME/redis.conf |
|
||||||
sed -i "s#^daemonize.*#daemonize yes#" $REDIS_INSTANCE_PATH/$INSTANCE_NAME/redis.conf |
|
||||||
echo -e "实例安装完成\n实例目录:$REDIS_INSTANCE_PATH/$INSTANCE_NAME\n实例配置文件:$REDIS_INSTANCE_PATH/$INSTANCE_NAME/redis.conf" |
|
||||||
} |
|
||||||
|
|
||||||
option=$(getopt -l "help::,install,instance,start,stop" -o "i,s:" -a -- "$@") |
|
||||||
if [ $# -lt 1 ];then |
|
||||||
echo -e $ERROR_INFO |
|
||||||
exit 0 |
|
||||||
fi |
|
||||||
eval set -- "$option" |
|
||||||
while true |
|
||||||
do |
|
||||||
case $1 in |
|
||||||
-i|--install) |
|
||||||
install_function |
|
||||||
shift 1 |
|
||||||
;; |
|
||||||
-s|--instance) |
|
||||||
install_instance_function $2 |
|
||||||
shift 2 |
|
||||||
;; |
|
||||||
--start) |
|
||||||
for i in `ls $REDIS_INSTANCE_PATH` |
|
||||||
do |
|
||||||
$REDIS_COMMAND_PATH/redis-server $REDIS_INSTANCE_PATH/$i/redis.conf |
|
||||||
echo "启动实例$i" |
|
||||||
done |
|
||||||
shift 1 |
|
||||||
;; |
|
||||||
--stop) |
|
||||||
for i in `ls $REDIS_INSTANCE_PATH` |
|
||||||
do |
|
||||||
$REDIS_COMMAND_PATH/redis-cli -p $i shutdown |
|
||||||
echo "停止实例$i" |
|
||||||
done |
|
||||||
shift 1 |
|
||||||
;; |
|
||||||
--) |
|
||||||
shift |
|
||||||
break |
|
||||||
;; |
|
||||||
*) |
|
||||||
echo -e $ERROR_INFO |
|
||||||
exit 0 |
|
||||||
;; |
|
||||||
esac |
|
||||||
done |
|
File diff suppressed because it is too large
Load Diff
@ -0,0 +1 @@ |
|||||||
|
Subproject commit a3a51074a02c0b8ee90084af038b59a983890f19 |
Loading…
Reference in new issue