Показаны сообщения с ярлыком linux. Показать все сообщения
Показаны сообщения с ярлыком linux. Показать все сообщения

пятница, 4 августа 2023 г.

Как поискать регулярками по куче файлов

Возникла ситуация, когда надо было найти все запуски задачи в логах. За несколько лет... Тогда как раз были длинные выходные, так что я интереса ради запустила греп (виртуалка линуксовая):


grep "myTaskPerformer"

 

Смотрю — долго думает. В итоге выкачала логи к себе локально и запустила робота, который пробежался, их обработал.

А потом пришел коллега и показал другую команду, которая выполнилась почти моментально. Правда, я искала по всем логам, забыв, что нужное мне вынесено в task-логи. 

Так что он:

  • добавил ограничение по названиям файлов, искал среди меньшего количества в итоге
  • греп тоже изменил, добавив больше уточнения в поисковую фразу
Итоговая команда:


find /opt/jboss/standalone/log -name task* | sort -h | xargs grep "myTaskPerformer: processed" > /tmp/logs.txt


В итоге моя команда подвисла и через 4 дня ещё думала (робот локально быстрее отработал).

Его команда сработала моментально. Пожалуй, запишу себе её на будущее =)


пятница, 24 июля 2020 г.

Сответствие консольных команд Windows и Linux

В чат выпускников скинули такую классную шпаргалочку — Соответствие команд CMD Windows командам Linux:

При переходе с Windows на Linux и наоборот, для тех, кто знаком с командной строкой, может пригодиться небольшая справка по соответствию консольных команд этих операционных систем.

Полезная штука!

понедельник, 11 мая 2020 г.

Основные linux-команды для новичка



Ссылка на ХАБР

Если вы еще не сталкивались с linux, вам сюда!

Linux — это операционная система. Как винда (windows), только более защищенная. В винде легко подхватить вирус, в линуксе это практически невозможно. А еще линукс бесплатный, и ты сам себе хозяин: никаких тебе неотключаемых автообновлений системы!

Большинство операций в линуксе выполняется через командную строку. И если вы видите в вакансии «знание linux» — от вас ожидают как раз умение выполнять простейшие операции — перейти в другую директорию, скопировать файл, создать папочку...

Я собрала все основные операции в одной статье — с кратким описанием, примерчиком + ссылками на более подробное описание. В блог переносить не буду, слишком длинная получилась статья, без кликабельного содержания это не слишком полезно, а его в блоггере сделать нельзя (или сложно).

воскресенье, 25 ноября 2018 г.

FAQ по консолям

1. В линуксовых системах пароль при вводе не видно. Это может испугать (я что-то делаю не так), но вы все делаете верно

2. Почему программа ругается на адрес с обратным слэшем \

Потому что не все терминалы ее поддерживают. Консоль Windows нормально воспринимает путь, где все слэши обратные. Putty и Cygwin – нет.

3. Что делать, если путь к папке очень длинный и вводить его руками неудобно?

Быстрый вариант – открыть эту папку в WinSCP, кликнуть на адресную строку и нажать "Копировать адрес".

Более медленный вариант для Win:

Перейти в нужную папку в "Проводнике" и кликнуть на адресную строку.
Получится адрес, который надо скопировать и вставить в нужный терминал. Внимание, помним про слэши – для Putty их придется заменить на прямые /

См также:
WinSCP — что это и как использовать


PS: статья написана в помощь студентам курса «Логи как инструмент тестировщика», на котором надо искать причины ошибок в серверных логах.

четверг, 20 сентября 2018 г.

Командная строка Linux. Уильям Шоттс


Ссылка на OZON

Мои выдержки из книги:
Шикарная книга! Подойдет как человеку, который Linux в глаза не видел, так и тому, кто уже что-то умеет. Я вообще по работе с линуксом сталкиваюсь, систему нашу там поднимаю, например =) И с командной строкой работаю. Но книга прямо таки заворожила.

Первую половину книги я усердно повторяла в консоли все, что там читала. А потом пошли не очень интересные мне главы про устройство сети, монтирование, vi... Там уже стала повторять меньше, а потом ребенок родился, вообще некогда стало))) Но книгу дочитала, причем с интересом!

среда, 18 июля 2018 г.

Как запретить пользователю Linux Ubuntu запускать какую-либо команду или приложение

Оригинал статьи ©

Вынесу в свой блог на случай, если тот сайт вдруг пропадет. Потому что за последние несколько дней я пыталась сама нагуглить такой способ и спрашивала знакомых админов.

Один из способов запретить пользователю запускать определенные команды - это убрать бит исполнения для всех, кроме владельца root.

Например, что бы запретить пользователям выполнять команду curl:

chmod o-x $(which curl)

параметр o - all others означает «все, кроме владельца».

Как в linux создать много тестовых папок и файлов

Допустим, у нас есть некая папка test. Создадим в ней сотню директорий и кучу файликов в каждой:

mkdir -p test/dir--{000..100}
touch test/dir--{000..100}/file-{A..Z}

Вот и все, дальше можно играться с ними!


понедельник, 16 июля 2018 г.

Защита линукс-машины от ботов

Ради своих студентов и просто начинающих тестировщиков я периодически выкладываю что-то в открытый доступ — см «Бесплатные тестовые площадки».

Некоторые инструменты я подняла условно бесплатно, плачу только за место на сервере. За некоторые каждый месяц плачу — JIRA, linux... Мне не жалко, так как большинство этих площадок используется у меня на курсах, все равно надо для студентов.

Но, к сожалению, как только ты делаешь доброе дело и выкладываешь что-то в открытый доступ, всегда находятся «самые умные люди», которые или попробуют тебя взломать, или хоть как-то еще подгадить.



У меня есть открытая линукс-виртуалка, см статью: Тут можно потыкать Linux.

Раз в месяц я туда захожу сама, чтобы написать статейку, которую вы можете тоже сразу сами пощупать. Или видосик. Или еще что. Не суть. Каждый раз, как не попробую войти спустя время, сразу вижу Access Denied. Кто-то решил поменять пароль, «и пусть эта машина будет только моя, ахаха». Ж — жадность.

пятница, 22 июня 2018 г.

WinSCP — что это и как использовать

Для тех, кто учится работе с linux. Самые популярные инструменты — Putty + WinSCP. Сегодня разбираемся с WinSCP.

Статья «бери и делай», разве что без тестовой площадки. Здесь я даю основы по работе с инструментом. Все-все-все кнопочки мы разбирать не будем. Ровно то, что вам надо знать, если вы впервые WinSCP видите.

WinSCP — программа для подключения к linux-машине. Выглядит как Total Commander, очень удобна, если нам надо что-то перекинуть на машину или забрать оттуда. Ведь интерфейс винды многим роднее, чем командная строка.


Как запустить


Открыть приложение — появится окно логина.
Нажать «New site» (название может меняться, но новое подключение всегда сверху)


Заполнить поля:
  • Host name — имя хоста, к которому подключаетесь. Или его IP-адрес
  • User name — логин
  • Password — пароль
По умолчанию система предлагает протокол подключения SFTP и порт 22, это нам менять не надо (обычно). 

среда, 20 июня 2018 г.

ПО GNU/Linux — видео лекции Георгия Курячего


Ссылка на курс

Со звуком беда только в самом начале, буквально через 3-5 минут вводной лекции станет норм. И со следующими лекциями также, первая минута — шумно, потом включают микрофон.

Ссылочку мне порекомендовал наш сисадмин, разумеется, сам линуксоид. Для общего понимания того, что вообще такое Linux и с чем его едят. Это запись лекций из университета. Лектор практик, знает, о чем говорит. И рассказывает классно! Мне понравилось =)

Хотя должна признать, что ссылку мне дали еще на новогодние праздники, а смотреть лекции я начала только в прошлые 12 недель. Мне просто оказалось очень сложно заставить себя 1,5 часа сидеть перед онитором и просто слушать. Стала откладывать, и откладывать, и откладывать... А потом решила делать небольшие заходы на 10-15 минут. И вот уже я досмотрела все лекции!

Мне было интересно, могу рекомендовать. Но учтите — это более общий взгляд на ПО Linux. Тут вообще не будет такого, чтобы лектор рассказывал с нуля в стиле «повторяем за мной»: как открыть консоль, какие команды ввести, что каждая значит... С этим вам придется разбираться самостоятельно.

А тестировщику обычно надо понять как раз сами команды. Познакомиться с базовыми методами, чтобы не пугаться страшного слова «линукс-сервер». Уметь переходить там по директориям, просматривать права, файлы, следить за логом... Если вам нужно именно это — то лучше погуглить другие курсы. Или книжки почитать, я могу порекомендовать:

А вот для общего развития лекции — самое то!

См также:
Тут можно потыкать Linux — тренируйтесь в командах на нашей тестовой площадке =)


понедельник, 7 мая 2018 г.

Тут можно потыкать Linux

Знание Linux хотя бы на базовом уровне сейчас часто требуют в вакансиях — как перемещаться между директориями, как создавать или редактировать файлы, grep, просмотр...

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


Тестовая площадка (неактуальная)


IP: 5.45.124.110

Данные для входа:
  • Логин — test 
  • Пароль — 123
Система: CentOS 7

пятница, 10 ноября 2017 г.

Jboss не стартует как сервер, какие логи смотреть

Ранее я писала, как установить сервер приложения WildFly на redhat 7. И вот у коллеги задачка была — перевести тестовый стенд на redhat 7, чтобы он был максимально приближен к реальности.

Все настроили, запускаем. Не запускается. Хм. Пошли читать логи → а их нет! То есть до запуска приложения дело вообще не дошло. Но почему? Запустили не как сервер, а через standalone.sh — запускается. Пересмотрели всю инструкцию, вроде все нужные файлики созданы. Тогда что не так? Тут нужны логи службы, а не самого приложения...


Как просмотреть сообщения службы с момента запуска


Допустим, мы стартуем сервис testbase:

service testbase start

Просмотр сообщений службы:

journalctl -u testbase

Пример логов:

пятница, 8 сентября 2017 г.

Что значат символы >> и >& в unix/Linux

> перенаправляет вывод в файл, перезаписывая его

>> перенаправляет вывод в файл, но не перезаписывает его, а добавляет в конец

Standard output is represented in bash with number 1 and standard error is represented with number 2. They are separate, so the user can redirect them to different files.

2>&1 redirects the standard error to the standard output so they appear together and can be jointly redirected to a file. (Writing just 2>1 would redirect the standard error to a file called "1", not to standard output.) © stackexchange

Стандартный вывод в bash-е обозначается цифрой 1, а ошибки — цифрой 2.

Команда 2>&1 перенаправляет вывод ошибок в STDOUT. Они и так обычно туда направляются, но так надежнее ツ

Команда 2>1 запишет текст ошибки в файл "1", поэтому нам нужен знак амперсанда, если мы имеем в виду именно поток.

Посмотрим на примере. Перейдем в Cygwin в любую существующую директорию, а потом попробуем удалить некий файл example.txt, которого на самом деле там нет → система выведет ошибку «файла не существует».

четверг, 27 июля 2017 г.

Тестируем IOPS на Linux

Наше приложение активно использует диск. Поэтому, если заказчик хочет видеть хорошие результаты по нагрузке, мы хотим видеть хорошие результаты по производительности самих дисков Smile :)


Недавно пришлось потестировать диски, проверить, сколько IOPS они выдают. Законспектирую результаты:

Используем утилиту fio — https://github.com/axboe/fio/releases

1) Скачать последнюю версию и распаковать и перейти в каталог

cd /tmp
wget https://github.com/axboe/fio/archive/fio-2.99.tar.gz
tar xvzf fio-2.99.tar.gz
rm fio-2.99.tar.gz
cd fio-fio-2.99

2) Должны стоять пакеты для сборки

apt-get install -y gcc make libaio-dev | yum install -y make gcc libaio-devel

3) Собираем

make

4) Тестируем

./fio -readonly -name iops -rw=randread -bs=512 -runtime=20 -iodepth 32 -filename /dev/sda -ioengine libaio -direct=1

Какие должны быть результаты:

  • Средний SSD, выпущенный 2-3 года назад — 50 тысяч IOPS.
  • Свежий Samsung 960 Pro, который стоит на одной из железок у нас в офисе — 350 тысяч IOPS.

Если должно быть 50 тысяч, а диск выдает сильно меньше, то:
— он не SSD;
— есть сетевые задержки;
— неправильно примонтирован;
— с ними что-то еще плохое случилось и стоит поднять алярм.

среда, 28 июня 2017 г.

Установка RAR на Linux

Ставила я сегодня три сервера на CentOS 7. Rar-архива там, разумеется, нет. И простая команда

yum install rar
yum install unrar

Не прокатила, увы:

No package rar available.
Error: Nothing to do

Пришлось погуглить. Наткнулась на хорошую статью — Установка архиватора RAR (UnRAR) на CentOS/RHEL/Oracle Linux.

В блоге сохраню способ, который мне помог, а то мало ли что случится с источником:

Скачиваем, разархивируем и компилируем:

wget http://rarlabs.com/rar/rarlinux-x64-5.4.0.tar.gz
tar xzf rarlinux-x64-5.4.0.tar.gz
cd rar
make install
Устанавливаем:

mkdir -p /usr/local/bin
mkdir -p /usr/local/lib
cp rar unrar /usr/local/bin
cp rarfiles.lst /etc
cp default.sfx /usr/local/lib
Метод применим для всех дистрибутивов.

И применяем:

unrar x test.rar

PS — это выдержка из моей книги для начинающих тестировщиков, написана в помощь моим студентам 

вторник, 7 февраля 2017 г.

Ахтунг, прод! Как настроить приветствие на Linux

Если TEST и PROD находятся оба на linux-серверах, можно перепутать — пойти тестировать, а попасть на продакшен. Чтобы не тронуть ничего лишнего, настройте себе на PROD отдельное приветствие в командной строке.

С таким приветствием сложно ошибиться, куда ты попал =)

Настройка


Указать приветствие в файле /etc/motd
         
     ___       __    __  .___________. __    __  .__   __.   _______  __
    /   \     |  |  |  | |           ||  |  |  | |  \ |  |  /  _____||  |
   /  ^  \    |  |__|  | `---|  |----`|  |  |  | |   \|  | |  |  __  |  |
  /  /_\  \   |   __   |     |  |     |  |  |  | |  . `  | |  | |_ | |  |
 /  _____  \  |  |  |  |     |  |     |  `--'  | |  |\   | |  |__| | |__|
/__/     \__\ |__|  |__|     |__|      \______/  |__| \__|  \______| (__)
                                                                       
         .______   .______        ______    _______   __                
         |   _  \  |   _  \      /  __  \  |       \ |  |              
         |  |_)  | |  |_)  |    |  |  |  | |  .--.  ||  |              
         |   ___/  |      /     |  |  |  | |  |  |  ||  |              
         |  |      |  |\  \----.|  `--'  | |  '--'  ||__|              
         | _|      | _| `._____| \______/  |_______/ (__)              
                                                                       
                                                
Пример файла — motd

Это блоггер перекашивает текст, но если скопировать его прям из поста в блокнотик, будет норм! Или берите готовый пример файла Smile :)

Саму идею взяли с хабра.

См также:
Color Bash Prompt (Русский) — Вот тут описано как поменять и раскрасить приглашение. Можно на проме под рутом сделать еще например красную надпись "ты же понимаешь что это прод"

PS — это выдержка из моей книги для начинающих тестировщиков, написана в помощь моим студентам

четверг, 2 февраля 2017 г.

Тестируйте на конфигурации, приближенной к реальной

На той неделе я ездила к заказчику разворачивать билды. Допустим, я должна была поднять:

Тестировщик-внедренец? 
Почему бы и нет

Исходно я знала, что разворачивать буду 6 стендов — по три на каждый сервер (DEV, TEST, UAT). Там будет стоять "голый" линукс, redhat 7, java 8 и «ванильные» wildfly 10 — это те, которые скачаны с официального сайта. Мы их уже сконфигурили под свои сервисы и обычно отдаем уже готовые сборки, но политика безопасности и все такое...

Это немного волнительно — я давно уже не выезжала на внедрение. А тут еще и настройка «ванильного» wildfly, инструкция немного сложнее. Больше возможностей где-то налажать, в общем ))

Разумеется, вначале надо проверить все инструкции на своей стороне. Развернуться на «голых» стендах. Проверить, какие команды на линуксе должны работать, вот это все. Ставлю задачу админу — «сделать стенд dev-testbase, "голый" линукс, java 8 и «ванильный» wildfly 10». Я знала, что у нас будет redhat 7, но не сочла нужным добавлять это в описание задачи. Линукс и линукс, какая разница, какая версия? Наверняка седьмая бай дефолт и ставится... Оказалось, что «бай дефолт» ставится шестая версия, и админ развернул мне стенд с центосью 6 (Redhat — платный дистрибутив, а CentOS — бесплатный аналог). Казалось бы, ну как это повлияет? Wildfly то тот же.. Но вы уже, наверное, догадались об ответе на этот вопрос 😁 Версия линукса — влияет...

См также:
Настройка сервисов wildfly10 для redhat 6, 7 и debian 6 — выписала отличия 6 и 7 версий

На момент развертывания на dev-testbase я, однако, была в счастливом неведении. Я все развернула, хотя не совсем я... Муж-линуксоид помог 👀 Оказалось, что наша инструкция уже не совсем актуальная, вот и проапдейтила заодно! Теперь я была спокойна — на внедрении просто пройдусь по тем же шагам и все будет хорошо. Ага... Конечно...

среда, 1 февраля 2017 г.

Настройка сервисов wildfly10 для redhat 6, 7 и debian 6

Допустим, что мы будем настраивать сервер для http://testbase.ru/ — название testbase, храниться будет в /opt. Настраиваем «ванильный» wildfly 10 


Основные отличия 


Надо брать разные скрипты для разных систем:
  • redhat 6 - JBOSS_HOME/docs/contrib/scripts/init.d
  • redhat 7 - JBOSS_HOME/docs/contrib/scripts/systemd
  • debian 6 - JBOSS_HOME/docs/contrib/scripts/init.d, но докручивать ручками