Задать вопрос
Ответы пользователя по тегу bash
  • Как выдернуть последние 10 символов в строке?

    lancer_serega
    @lancer_serega Автор вопроса
    PHP Developer
    Всем спасибо за помощь, Дописал я тот скрипт. Пользовался lftp (а она эмулирует какието функции баша, но в терминологии могу ошибиться)
    Пришлось эмулировать ftp сервер в папку и уже нормальным башем выдернуть все что мне нужно

    А по поводу кривости написания. Мне можно сделать скачуху, все таки это мой первый баш скрипт)))))

    echo -en "\n${GREEN}Начало импорта...${NORMAL}\n\n"
    CURRENT_DIR=`pwd`
    
    function importDumpFileToVagrant {
        cd ${CURRENT_DIR}
        pwd
        echo ${DUMP_FILE_NAME}
        if [[ -f ${DUMP_FILE_NAME} ]]
            then
                pv ${CURRENT_DIR}/${DUMP_FILE_NAME} | mysql -h${MYSQL_HOST} -P${MYSQL_PORT} -D${MYSQL_DB_NAME} -u${MYSQL_USER} -p${MYSQL_PASS}
                rm ${DUMP_FILE_NAME}
                echo -en "${GREEN}Импортирование прошло успешно! =(${NORMAL}\n";
            else
                echo -en "${RED}Файл дампа БД не найден! =(${NORMAL}\n";
        fi
    }
    
    echo -en "${YELLOW}Создаем дамп на сервере...${NORMAL}\n"
    ssh ${SSH_LOGIN}@${SSH_HOST} 'bash /var/www/hlamada.ru/server/backup.sh -m db'
    echo -en "${GREEN}Дамп успешно создан и отправлен на FTP сервер...${NORMAL}\n"
    
    echo -en "${YELLOW}Мотируем FTP как диск в папку '${PATH_TO_MOUNT}' ${NORMAL}\n"
    fusermount -u ${PATH_TO_MOUNT}
    curlftpfs ${FTP_LOGIN}:${FTP_PASS}@${FTP_HOST} ${PATH_TO_MOUNT}
    echo -en "${GREEN}Монтирование прошло успешно! '${CYAN}${PATH_TO_MOUNT}${NORMAL}' \n"
    
    cd ${PATH_TO_MOUNT}/hlamada.ru/
    DIR_NAME=`ls | tail -1`
    cd ${DIR_NAME}
    FILE_NAME=`ls | tail -1`
    
    echo -en "${YELLOW}Распаковка дампа...${NORMAL}\n"
    tar -xvzf ${PATH_TO_MOUNT}/hlamada.ru/${DIR_NAME}/${FILE_NAME} -C ${CURRENT_DIR}
    echo -en "\n${GREEN}Распаковка дампа прошла успешно!\nНаходится в '${CYAN}${CURRENT_DIR}/${DUMP_FILE_NAME}${YELLOW}'${NORMAL}\n"
    
    importDumpFileToVagrant
    
    echo -en "\n${GREEN}Конец импорта!\n\n"
    Ответ написан
    Комментировать