| #!/bin/bash |
| |
| # Licensed to the Apache Software Foundation (ASF) under one |
| # or more contributor license agreements. See the NOTICE file |
| # distributed with this work for additional information |
| # regarding copyright ownership. The ASF licenses this file |
| # to you under the Apache License, Version 2.0 (the |
| # "License"); you may not use this file except in compliance |
| # with the License. You may obtain a copy of the License at |
| # |
| # http://www.apache.org/licenses/LICENSE-2.0 |
| # |
| # Unless required by applicable law or agreed to in writing, |
| # software distributed under the License is distributed on an |
| # "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY |
| # KIND, either express or implied. See the License for the |
| # specific language governing permissions and limitations |
| # under the License. |
| |
| LOGFILE=/tmp/cloudstack-migrate-databases.log |
| |
| check_if_svc_active() { |
| svc_name=$1 |
| systemctl is-active $svc_name -q |
| if [ $? -eq 0 ];then |
| echo "service $svc_name is still active. Please stop it and retry." |tee -a ${LOGFILE} |
| exit 1 |
| fi |
| } |
| |
| if [ "$1" != "" ] && [ "$1" != "-h" ] && [ "$1" != "--help" ];then |
| check_if_svc_active "cloudstack-management" |
| check_if_svc_active "cloudstack-usage" |
| fi |
| |
| java -classpath /etc/cloudstack/management:/usr/share/cloudstack-management/lib/* \ |
| com.cloud.utils.crypt.EncryptionSecretKeyChanger \ |
| "$@" \ |
| > >(tee -a ${LOGFILE}) 2> >(tee -a ${LOGFILE} >/dev/null) |
| |
| res=$? |
| if [ $res -eq 0 ];then |
| rm -f $LOGFILE |
| else |
| echo "Failed to migrate databases. You may find more logs in $LOGFILE" |
| fi |
| |
| exit $res |