some image

Selenium + Chrome + XVFB через VNC

Обо всем

Столкнулся с потребностью из-за сложной задачи наблюдать что происходит в XVFB через удаленный доступ, чтоб понимать как ведет себя браузер. Оказалось очень просто. Запускать xvfb нужно с авторизацией. Например

xvfb-run —auth-file=/home/selenium/xvfbauth —server-args=»-screen 0, 1366x768x24″ java -Dwebdriver.chrome.bin=/usr/bin/google-chrome -Dwebdriver.chrome.driver=/usr/local/bin/chromedriver233 -jar /usr/local/bin/selenium-server-standalone-3.8.0.jar

Далее запускаем VNC сервер

x11vnc -display :99.0 -auth /usr/local/bin/xvfbauth -bg -nopw -listen localhost -xkb

После этого по SSH пробрасываем 5900 порт на свою машину. Код для Mac OS X, у кого Windows воспользуйтесь Putty.

ssh -L 5900:127.0.0.1:5900 -N -f -l %user% %server%

Теперь можем подключиться к localhost:5900 любым клиентом.

Как перенести рабочую директорию mysql

Обо всем

Изменяем папку с базами mysql:

# Create new directory for MySQL data
mkdir /new/dir/for/mysql
# Set ownership of new directory to match existing one
chown —reference=/var/lib/mysql /new/dir/for/mysql

# Set permissions on new directory to match existing one
chmod —reference=/var/lib/mysql /new/dir/for/mysql

# Stop MySQL before copying over files
service mysql stop

# Copy all files in default directory, to new one, retaining perms (-p)
cp -rp /var/lib/mysql/* /new/dir/for/mysql/

Edit the /etc/my.cnf file, and under [mysqld] add this line:
datadir=/new/dir/for/mysql/

Tutorial: cоздаем бота для отправки push уведомлений в Telegram

Обо всем

Буквально за 5 минут в Telegram можно создать бота для отправки push уведомлений, абсолютно бесплатно.
Это может быть удобно для получения информации о заказах, для автоматических тестов по расписанию и еще много для чего. Итак, приступим:

1) Регистрируемся в телеграм https://web.telegram.org, либо скачайте мобильное приложение для своего телефона и зарегистрируйтесь там.

2) В поиске ищем бота BotFather (https://telegram.me/botfather) и отправляем ему команду /newbot для создание нового бота.
Далее пишем любое имя вашего бота. Например kocherov_testing
Теперь пишем username бота, помните он должен заканчиваться «bot» например kocherov_testing_bot.
После это BotFather присылает нам токен для доступа к api, сохраним его

3) После этого обязательно переходим в чат к нашему созданному боту и нажимаем start, без этого уведомления приходить не будут. Таким образом мы инициализируем чат с ботом. (в моем случае ссылка была бы telegram.me/kocherov_testing_bot)

4) Узнаем свой telegram ID. Для этого пишем боту userinfobot (https://telegram.me/userinfobot) команду /start. Копируем ID.

5) После этого вы можете отправлять сообщения к себе в Telegram https запросом хоть из браузера, хоть из вашего скрипта. Запрос следующего вида: httрs://api.telegram.org/bot<TOKEN>/sendMessage?chat_id=<ID>&text=<text> 
Вставляем в шаблон запроса токен бота (без ‘<’, ‘>’ разумеется) и ID с текстом, проверяем результат в вашем Telegram. Если все сделано правильно, сразу после отправки запроса вы получите сообщение от своего бота.

mysql восстановить все таблицы во всех базах

Обо всем

Для проверки и восстановления всех таблиц во всех базах, например после внештатной перезагрузки сервера, воспользуйтесь утилитой mysqlcheck и в консоле выполните

mysqlcheck -u root -p —auto-repair —check —all-databases

Далее увидев все поврежденные таблицы во всех базах восстанавливаем MYISAM таблицы утилитой myisamchk

myisamchk —silent —force —fast —update-state —key_buffer_size=512M —sort_buffer_size=512M —read_buffer_size=4M —write_buffer_size=4M /var/lib/mysql/database/*.MYI

Настройка OpenVPN

Обо всем

Лучшие туториалы:

http://debian-help.ru/articles/ustanovka-nastroika-openvpn-servera-debian-6/ — но старенький, надо поправки делать

https://www.digitalocean.com/community/tutorials/how-to-set-up-an-openvpn-server-on-debian-8

Также после настройки для запуска VPN сервера в консоли нужно использовать

systemctl start openvpn@server.service

Парсер avtokod.mos.ru

Обо всем

Разработан парсер avtokod.mos.ru. По вопросам приобретения пишите любым удобным способом, указанным в разделе «Контакты».

Как найти что занимает свободное место lunix

Обо всем

Для поиска того, что занимает место на linux сервере я использую простой способ:
В корневой директории исполняю
du -h --max-depth=1 --block-size=1M . | sort -n -r

Получаю отсортированный список файлов и папок, начиная с самых объемных. Далее просто прохожусь по этим папкам той же командой и нахожу проблемы с использованием свободного места. Это позволяет буквально за несколько минут найти папки или файлы, занимающие значительный объем пространства.

Не забываем, что общий объем свободного и занятого пространства можно посмотреть командой
df -h