Ir para conteúdo

ExtresZ

Membro
  • Registro em

  • Última visita

Histórico de Curtidas

  1. Curtir
    ExtresZ deu reputação a Marco Oliveira em Auto git pull e backup   
    O script nada mais faz que dar um git pull do seu repositório automaticamente quando o servidor recebe reload ou crasha.
     
    Na pasta raiz de seu repositório crie um arquivo chamado startserver.sh e uma pasta chamada logs dentro da pasta raiz de seu site.
     
    pastaOt="caminho do servidor" comandoBackup="caminho do servidor/backup/backup.sh" echo "Iniciando o programa" cd $pastaOt mkdir -p /logs mkdir -p build while true do cd $pastaOt ./tfs 2>&1 | awk '{ print strftime("%F %T - "), $0; fflush(); }' | tee "/var/www/html/logs/$(date +"%F %H-%M-%S.log")" exitcode=${PIPESTATUS[0]} if [ $exitcode -eq 0 ]; then echo "Clean close" git pull cd build cmake .. make if [$? -ne 0]; then echo "Compilation failed!" else echo "Compilation successful!" mv tfs .. fi cd .. else echo "Server Crash!!! (O arquivo de log está guardado na pasta logs)" fi echo "Server Down, backup database..." $comandoBackup sleep 2 done;  
    Ainda na pasta raiz do seu servidor crie uma pasta chamada backup e dentro dela crie um arquivo chamado backup.sh
     
    CAMINHO="caminho do servidor/backup/" NOMEBACKUP="nome do arquivo de backup" USER="usuario do phpmyadmin" SENHA="senha do phpmyadmin" BANCO="nome da database" TEMPO="$(date +'%d-%m-%Y-%H-%M')" if [[ -z "$USER" || -z "$SENHA" || -z "$BANCO" ]]; then echo "Por favor preencha o usuário, senha e banco de dados nas configurações." else mysqldump -u$USER -p$SENHA $BANCO > $CAMINHO"/"$NOMEBACKUP"-"$TEMPO".sql" fi Não se esqueça da permissão 777 em todos os arquivos, e também de ligar o servidor com o comando ./startserver.sh
     
    OBS: você deve configurar a chave ssh no seu git para que não peça o e-mail e senha a cada reload, o git clone também deve ser feito atraves de ssh e não https

Informação Importante

Confirmação de Termo