Your Name 2 years ago
parent 18db1ff3d9
commit c38c8581b1
  1. 6
      .gitmodules
  2. 1
      python-project
  3. 30
      script/get-cmd-history.sh
  4. 8
      script/get-docker-compose.sh
  5. 35
      script/get-docker-image.sh
  6. 34
      script/get-docker-latest.sh
  7. 8
      script/get-k8s-cmd.sh
  8. 46
      script/get-mysql57.sh
  9. 82
      script/get-os-info.sh
  10. 106
      script/get-os-init.sh
  11. 39
      script/get-py3104.sh
  12. 100
      script/get-redis-instance.sh
  13. 1400
      script/get-shadowsocks-all.sh
  14. 1
      shell-project

6
.gitmodules vendored

@ -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…
Cancel
Save