123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194 |
- #!/bin/bash
- # Author: yeho <lj2007331 AT gmail.com>
- # BLOG: https://linuxeye.com
- #
- # Notes: OneinStack for CentOS/RedHat 7+ Debian 9+ and Ubuntu 16+
- #
- # Project home page:
- # https://oneinstack.com
- # https://github.com/oneinstack/oneinstack
- export PATH=/sbin:/bin:/usr/sbin:/usr/bin:/usr/local/sbin:/usr/local/bin
- clear
- printf "
- #######################################################################
- # OneinStack for CentOS/RedHat 7+ Debian 9+ and Ubuntu 16+ #
- # 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 out ip country
- OUTIP_STATE=$(./include/ois.${ARCH} ip_state)
- Show_Help() {
- echo
- echo "Usage: $0 command ...[version]....
- --help, -h Show this help message
- --nginx [version] Upgrade Nginx
- --tengine [version] Upgrade Tengine
- --openresty [version] Upgrade OpenResty
- --apache [version] Upgrade Apache
- --tomcat [version] Upgrade Tomcat
- --db [version] Upgrade MySQL/MariaDB/Percona
- --php [version] Upgrade PHP
- --redis [version] Upgrade Redis
- --memcached [version] Upgrade Memcached
- --phpmyadmin [version] Upgrade phpMyAdmin
- --oneinstack Upgrade OneinStack latest
- --acme.sh Upgrade acme.sh latest
- "
- }
- ARG_NUM=$#
- TEMP=`getopt -o h --long help,nginx:,tengine:,openresty:,apache:,tomcat:,db:,php:,redis:,memcached:,phpmyadmin:,oneinstack,acme.sh -- "$@" 2>/dev/null`
- [ $? != 0 ] && echo "${CWARNING}ERROR: unknown argument! ${CEND}" && Show_Help && exit 1
- eval set -- "${TEMP}"
- while :; do
- [ -z "$1" ] && break;
- case "$1" in
- -h|--help)
- Show_Help; exit 0
- ;;
- --nginx)
- nginx_flag=y; NEW_nginx_ver=$2; shift 2
- ;;
- --tengine)
- tengine_flag=y; NEW_tengine_ver=$2; shift 2
- ;;
- --openresty)
- openresty_flag=y; NEW_openresy_ver=$2; shift 2
- ;;
- --apache)
- apache_flag=y; NEW_apache_ver=$2; shift 2
- ;;
- --tomcat)
- tomcat_flag=y; NEW_tomcat_ver=$2; shift 2
- ;;
- --db)
- db_flag=y; NEW_db_ver=$2; shift 2
- ;;
- --php)
- php_flag=y; NEW_php_ver=$2; shift 2
- ;;
- --redis)
- redis_flag=y; NEW_redis_ver=$2; shift 2
- ;;
- --memcached)
- memcached_flag=y; NEW_memcached_ver=$2; shift 2
- ;;
- --phpmyadmin)
- phpmyadmin_flag=y; NEW_phpmyadmin_ver=$2; shift 2
- ;;
- --oneinstack)
- NEW_oneinstack_ver=latest; shift 1
- ;;
- --acme.sh)
- NEW_acme_ver=latest; shift 1
- ;;
- --)
- shift
- ;;
- *)
- echo "${CWARNING}ERROR: unknown argument! ${CEND}" && Show_Help && exit 1
- ;;
- esac
- done
- Menu() {
- while :; do
- printf "
- What Are You Doing?
- \t${CMSG} 1${CEND}. Upgrade Nginx/Tengine/OpenResty
- \t${CMSG} 2${CEND}. Upgrade Apache
- \t${CMSG} 3${CEND}. Upgrade Tomcat
- \t${CMSG} 4${CEND}. Upgrade MySQL/MariaDB/Percona
- \t${CMSG} 5${CEND}. Upgrade PHP
- \t${CMSG} 6${CEND}. Upgrade Redis
- \t${CMSG} 7${CEND}. Upgrade Memcached
- \t${CMSG} 8${CEND}. Upgrade phpMyAdmin
- \t${CMSG} 9${CEND}. Upgrade OneinStack latest
- \t${CMSG}10${CEND}. Upgrade acme.sh latest
- \t${CMSG} q${CEND}. Exit
- "
- echo
- read -e -p "Please input the correct option: " Upgrade_flag
- if [[ ! "${Upgrade_flag}" =~ ^[1-9,q]$|^10$ ]]; then
- echo "${CWARNING}input error! Please only input 1~10 and q${CEND}"
- else
- case "${Upgrade_flag}" in
- 1)
- [ -e "${nginx_install_dir}/sbin/nginx" ] && Upgrade_Nginx
- [ -e "${tengine_install_dir}/sbin/nginx" ] && Upgrade_Tengine
- [ -e "${openresty_install_dir}/nginx/sbin/nginx" ] && Upgrade_OpenResty
- ;;
- 2)
- Upgrade_Apache
- ;;
- 3)
- Upgrade_Tomcat
- ;;
- 4)
- Upgrade_DB
- ;;
- 5)
- Upgrade_PHP
- ;;
- 6)
- Upgrade_Redis
- ;;
- 7)
- Upgrade_Memcached
- ;;
- 8)
- Upgrade_phpMyAdmin
- ;;
- 9)
- Upgrade_OneinStack
- ;;
- 10)
- [ -e ~/.acme.sh/acme.sh ] && { ~/.acme.sh/acme.sh --force --upgrade; ~/.acme.sh/acme.sh --version; }
- ;;
- q)
- exit
- ;;
- esac
- fi
- done
- }
- if [ ${ARG_NUM} == 0 ]; then
- Menu
- else
- [ "${nginx_flag}" == 'y' ] && Upgrade_Nginx
- [ "${tengine_flag}" == 'y' ] && Upgrade_Tengine
- [ "${openresty_flag}" == 'y' ] && Upgrade_OpenResty
- [ "${apache_flag}" == 'y' ] && Upgrade_Apache
- [ "${tomcat_flag}" == 'y' ] && Upgrade_Tomcat
- [ "${db_flag}" == 'y' ] && Upgrade_DB
- [ "${php_flag}" == 'y' ] && Upgrade_PHP
- [ "${redis_flag}" == 'y' ] && Upgrade_Redis
- [ "${memcached_flag}" == 'y' ] && Upgrade_Memcached
- [ "${phpmyadmin_flag}" == 'y' ] && Upgrade_phpMyAdmin
- [ "${NEW_oneinstack_ver}" == 'latest' ] && Upgrade_OneinStack
- [ "${NEW_acme_ver}" == 'latest' ] && [ -e ~/.acme.sh/acme.sh ] && { ~/.acme.sh/acme.sh --force --upgrade; ~/.acme.sh/acme.sh --version; }
- fi
|