#!/bin/bash
# Author: yeho
# BLOG: https://blog.linuxeye.cn
#
# Notes: OneinStack for CentOS/RadHat 6+ Debian 7+ and Ubuntu 12+
#
# Project home page:
# https://oneinstack.com
# https://github.com/lj2007331/oneinstack
export PATH=/sbin:/bin:/usr/sbin:/usr/bin:/usr/local/sbin:/usr/local/bin
clear
printf "
#######################################################################
# OneinStack for CentOS/RadHat 6+ Debian 7+ and Ubuntu 12+ #
# Upgrade Software versions for OneinStack #
# For more information please visit https://oneinstack.com #
#######################################################################
"
# Check if user is root
[ $(id -u) != "0" ] && { echo "${CFAILURE}Error: You must be root to run this script${CEND}"; exit 1; }
oneinstack_dir=$(dirname "`readlink -f $0`")
pushd ${oneinstack_dir} > /dev/null
. ./versions.txt
. ./options.conf
. ./include/color.sh
. ./include/check_os.sh
. ./include/check_dir.sh
. ./include/download.sh
. ./include/get_char.sh
. ./include/upgrade_web.sh
. ./include/upgrade_db.sh
. ./include/upgrade_php.sh
. ./include/upgrade_redis.sh
. ./include/upgrade_memcached.sh
. ./include/upgrade_phpmyadmin.sh
. ./include/upgrade_oneinstack.sh
# get the IP information
PUBLIC_IPADDR=`./include/get_public_ipaddr.py`
IPADDR_COUNTRY=`./include/get_ipaddr_state.py $PUBLIC_IPADDR | awk '{print $1}'`
Usage(){
printf "
Usage: $0 [ ${CMSG}web${CEND} | ${CMSG}db${CEND} | ${CMSG}php${CEND} | ${CMSG}redis${CEND} | ${CMSG}memcached${CEND} | ${CMSG}phpmyadmin${CEND} | ${CMSG}oneinstack${CEND} | ${CMSG}acme.sh${CEND} ]
${CMSG}web${CEND} --->Upgrade Nginx/Tengine/OpenResty/Apache
${CMSG}db${CEND} --->Upgrade MySQL/MariaDB/Percona
${CMSG}php${CEND} --->Upgrade PHP
${CMSG}redis${CEND} --->Upgrade Redis
${CMSG}memcached${CEND} --->Upgrade Memcached
${CMSG}phpmyadmin${CEND} --->Upgrade phpMyAdmin
${CMSG}oneinstack${CEND} --->Upgrade OneinStack
${CMSG}acme.sh${CEND} --->Upgrade acme.sh
"
}
Menu(){
while :; do
printf "
What Are You Doing?
\t${CMSG}1${CEND}. Upgrade Nginx/Tengine/OpenResty/Apache
\t${CMSG}2${CEND}. Upgrade MySQL/MariaDB/Percona
\t${CMSG}3${CEND}. Upgrade PHP
\t${CMSG}4${CEND}. Upgrade Redis
\t${CMSG}5${CEND}. Upgrade Memcached
\t${CMSG}6${CEND}. Upgrade phpMyAdmin
\t${CMSG}7${CEND}. Upgrade OneinStack
\t${CMSG}8${CEND}. Upgrade acme.sh
\t${CMSG}q${CEND}. Exit
"
echo
read -p "Please input the correct option: " Upgrade_flag
if [[ ! ${Upgrade_flag} =~ ^[1-8,q]$ ]]; then
echo "${CWARNING}input error! Please only input 1~8 and q${CEND}"
else
case "${Upgrade_flag}" in
1)
if [ -e "$nginx_install_dir/sbin/nginx" ]; then
Upgrade_Nginx
elif [ -e "$tengine_install_dir/sbin/nginx" ]; then
Upgrade_Tengine
elif [ -e "$openresty_install_dir/nginx/sbin/nginx" ]; then
Upgrade_OpenResty
elif [ -e "${apache_install_dir}/conf/httpd.conf" ]; then
Upgrade_Apache
fi
;;
2)
Upgrade_DB
;;
3)
Upgrade_PHP
;;
4)
Upgrade_Redis
;;
5)
Upgrade_Memcached
;;
6)
Upgrade_phpMyAdmin
;;
7)
Upgrade_OneinStack
;;
8)
[ -e ~/.acme.sh/acme.sh ] && { ~/.acme.sh/acme.sh --upgrade; ~/.acme.sh/acme.sh --version; }
;;
q)
exit
;;
esac
fi
done
}
if [ $# == 0 ]; then
Menu
elif [ $# == 1 ]; then
case $1 in
web)
if [ -e "$nginx_install_dir/sbin/nginx" ]; then
Upgrade_Nginx
elif [ -e "$tengine_install_dir/sbin/nginx" ]; then
Upgrade_Tengine
elif [ -e "$openresty_install_dir/nginx/sbin/nginx" ]; then
Upgrade_OpenResty
elif [ -e "${apache_install_dir}/conf/httpd.conf" ]; then
Upgrade_Apache
fi
;;
db)
Upgrade_DB
;;
php)
Upgrade_PHP
;;
redis)
Upgrade_Redis
;;
memcached)
Upgrade_Memcached
;;
phpmyadmin)
Upgrade_phpMyAdmin
;;
oneinstack)
Upgrade_OneinStack
;;
acme.sh)
[ -e ~/.acme.sh/acme.sh ] && { ~/.acme.sh/acme.sh --upgrade; ~/.acme.sh/acme.sh --version; }
;;
*)
Usage
;;
esac
else
Usage
fi
一键复制
编辑
Web IDE
原始数据
按行查看
历史