chagitqskjdlqskdmslkqdj chatjkqsdjlqskdjqslkdjkslqd azekzkjeqksldjlqsjdlsqd xqlqkzdjlqsdklqsdkslqd ?? GreenFile

?? GreenFile — File Browser

Current path: opt/sh/



?? Go up: /opt

?? Viewing: wp_update_core.sh

#!/bin/bash

set -Ceuo pipefail

### vars
PHP_VERSION="$1"
SERVER_ID="$2"
DOMAIN="$3"
SUBNAME=""

if [[ $# -ge 4 ]]; then
  SUBNAME="$4"
fi

PHP_PATH="/opt/php-${PHP_VERSION}/bin/php"

## /usr/bin/wp-cliが存在しない場合は/usr/bin/wpを実行
if [[ -f "/usr/bin/wp-cli" ]]; then
  WP_CLI_PATH="/usr/bin/wp-cli"
else
  WP_CLI_PATH="/usr/bin/wp"
fi

USER_WP_PATH="/home/${SERVER_ID}/${DOMAIN}/public_html${SUBNAME}"
USER_WP_CONFIG="${USER_WP_PATH}/wp-config.php"

### functions
function erroract(){
  echo "$1"
  exit 1
}

function warnact(){
  echo "$1"
  exit 0
}

### MAIN
{
if [[ ${USER} = "root" ]]; then
  erroract "Script_Error: invalid exec user root."
fi

if [[ ${SERVER_ID} != "${USER}" ]]; then
  erroract "Script_Error: invalid argument SERVER_ID."
fi

## PHPバージョン以外の入力値に相対パスが含まれていたらエラーメッセージと1を返す
if [[ ${SERVER_ID} =~ .*\.\./.* || ${DOMAIN} =~ .*\.\./.* || ${SUBNAME} =~ .*\.\./.* ]]; then
  erroract "Script_Error: invalid argument containing \"../\"."
fi

if [[ ! -f ${USER_WP_CONFIG} ]]; then
  warnact "Script_Warning: ${SERVER_ID}'s WordPress is not installed."
fi

cd "${USER_WP_PATH}"

## core update か core update-db が失敗したらエラーメッセージと1を返す
${PHP_PATH} ${WP_CLI_PATH} core update --path="${USER_WP_PATH}" 2>&1 \
  && ${PHP_PATH} ${WP_CLI_PATH} core update-db --path="${USER_WP_PATH}" 2>&1 \
  || erroract "Script_Error: wp-cli did not complete successfully."

## サブシェルで実行した出力結果に文字列を付与
} | awk -v user="${USER}" '{print "time:" strftime("%Y-%m-%dT%H:%M:%S%z") "\tuser:" user "\tpath:'"${USER_WP_PATH} "'" "\tmessage:" $0; fflush(); }'


??

??