Esse script levará ao sistema de arquivos do host remoto somente leitura?

0

Hoje, estou tentando atualizar o código no host remoto com o script abaixo.
Como minha condição de internet local não estava boa, instalei o screensoftware em caso de desconexão.
E então eu executei o script acima. As coisas correm bem nos primeiros servidores de aplicativos.
Mas quando vai para o último servidor mestre. Eu recebi um erro sobre o supervisor.
Depois da depuração, encontrei todo o sistema de arquivos no servidor mestre, de repente, tornando-se somente leitura.
Eu o reiniciei através do ssh, mas não consigo mais me conectar a ele.
Existe a possibilidade de que minha operação de executar o script abaixo se deva a esse desastre somente leitura do sistema de arquivos?
Estou tão sagrado agora, porque o $$$ da empresa está evaporando neste momento.

#!/bin/sh

if [ $# -ne 1 ]; then
    echo "Usage: `basename $0` <tag or branch>"
    exit 1
fi

TAG=$1

WORK_DIR=$(cd "$(dirname "$0")"; pwd)
GIT_REPO_PATH="/data/repo/backend_english"
APP_SRV_LIST="${WORK_DIR}/app_prd_srv.txt"

# Read the Destination directory
_DES_DIR="backend_english"
DES_FULL_DIR=''

read -p "Please Select the destination directory: [$_DES_DIR] " DES_DIR
if [ "x${DES_DIR}" != "x" ]; then
    DES_FULL_DIR="/data/sites/${DES_DIR}/"
fi


if [ ! -d "$DES_FULL_DIR" ]; then
    echo "Selecting default: /data/sites/${_DES_DIR}/"
    DES_FULL_DIR="/data/sites/${_DES_DIR}/"
else
    echo "destination dir: ${DES_FULL_DIR}"
fi

HOST=(`cat ${APP_SRV_LIST} | grep -v '^#' `)

echo "Deploy to the hosts:"
for i in ${HOST[@]}
do
    echo $i
done

read -p "Are you sure you want to continue (y/n)?" MFLAG
if [ "x${MFLAG}" != "xy" ]; then
    exit 1
fi


cd $GIT_REPO_PATH

/usr/bin/git fetch --all
/usr/bin/git checkout $TAG

THOST=${HOST[0]}

/usr/bin/rsync --dry-run -a --delete --progress --exclude='*.pyc' --exclude='upload_xls' --exclude='.git' --exclude='.gitignore' --exclude='logs' --exclude='test/local_config.py' $GIT_REPO_PATH/ admin@$THOST:$DES_FULL_DIR/

read -p "Are you sure you want to continue (y/n)?" CFLAG
if [ "x${CFLAG}" != "xy" ]; then
    exit 1
fi

echo $TAG > $WORK_DIR/version_prd.txt

for host in ${HOST[@]}
do
    echo $host

    rsync -a --delete --progress --exclude='upload_xls' --exclude='.git' --exclude='.gitignore' --exclude='logs' --exclude='test/local_config.py' $GIT_REPO_PATH/ admin@$host:$DES_FULL_DIR/

done

echo " "
echo " "

read -p "Restart all process (y/n)?" RFLAG
if [ "x${RFLAG}" != "xy" ]; then
    exit 0
fi

for host in ${HOST[@]}
do
    echo $host
    ssh admin@$host /usr/local/bin/supervisorctl -u my_account -p my_password restart all
done
zen
fonte
2
Parece provável que o servidor final teve um problema que impediu a execução do script, porque ele já era somente leitura - e provavelmente foi assim através de um problema de disco de algum tipo, e agora não pode ser inicializado. Saber o erro que você recebeu e exatamente qual etapa do script ocorreu ajudaria, mas, no final das contas, alguém precisa ir ao site e corrigi-lo.
Paul
@Paul, sshed para esse host, o erro do supervisor foi causado por não conseguir gravar arquivos temporários. E acontece que todo o sistema de arquivos era somente leitura.
Zen
1
Sim, então já era somente leitura, sem dúvida. Como você o reiniciou e não pode se conectar, não será possível determinar qual é o problema até que alguém entre no site. Mas é muito improvável que isso tenha algo a ver com o seu script. Pode muito bem estar lá depois de um fsck esperando alguém pressionar o botão 'y' para concluir a correção.
Paul
@Paul, recebi esta resposta do IDC "Conseguimos fazer login e executamos a verificação do sistema de arquivos no servidor que corrigiu vários arquivos de inodes órfãos". Por que o inode órfão leva a um sistema de arquivos somente leitura?
Zen
1
Os inodes órfãos não fazem com que um sistema de arquivos seja somente leitura. Um disco ou sistema de arquivos quebrado faz com que um sistema de arquivos seja somente leitura, um sistema de arquivos quebrado também causa inodes órfãos. Você está confundindo correlação com causalidade.
qasdfdsaq