Удаление рекламы из браузеров

Заблокировать отображение рекламы с сайтов почти во всех типах браузеров можно установив дополнение Adblock Plus

Читать далее «Удаление рекламы из браузеров»

Мониторинг параметров Apache2 в Zabbix

Установим необходимые компоненты:

sudo apt-get install curl

Активируем модуль информации об apache2 (обычно он активирован изначально):

sudo a2enmod info

Откроем файл конфигурации модуля и укажем IP-адрес zabbix сервера чтобы разрешить ему просмотр информации об apache2 (если apache2 на локальной машине, то доступ обычно разрешен, указанием local или 127.0.0.1):

sudo nano /etc/apache2/mods-enabled/status.conf

В редакторе nano CTRL+X используются для выхода и y/n для сохранения или отмены изменений. Пример указания IP:

<Location /server-status>
    SetHandler server-status
    Require local
    Require ip 192.168.1.5
</Location>

Перезапустим web-сервер чтобы применить изменения:

sudo service apache2 restart

Теперь информация об apache2 доступна через браузер по ссылке http://HOST/server-status

Перейдем к Zabbix. Создадим папку для скриптов если ее нету:

mkdir /etc/zabbix/scripts/
chown root:zabbix -R /etc/zabbix/scripts/
chmod 750 /etc/zabbix/scripts/

В файле конфигурации zabbix сервера укажем путь к этой папке:

sudo nano /etc/zabbix/zabbix_server.conf
ExternalScripts=ПУТЬ

Теперь приведу содержимое самого скрипта:

#!/bin/bash
if [[ -z "$1" || -z "$2" || -z "$3" ]]; then
  exit 1
fi
##### PARAMETERS #####
RESERVED="$1"
METRIC="$2"
URL="$3"
STATSURL="${URL}?auto"
#
CACHE_TTL="55"
CACHE_FILE="/tmp/zabbix.apache2.`echo ${URL} | md5sum | cut -d" " -f1`.cache"
EXEC_TIMEOUT="2"
NOW_TIME=`date '+%s'`
##### RUN #####
if [ -s "${CACHE_FILE}" ]; then
  CACHE_TIME=`stat -c"%Y" "${CACHE_FILE}"`
else
  CACHE_TIME=0
fi
DELTA_TIME=$((${NOW_TIME} - ${CACHE_TIME}))
#
if [ ${DELTA_TIME} -lt ${EXEC_TIMEOUT} ]; then
  sleep $((${EXEC_TIMEOUT} - ${DELTA_TIME}))
elif [ ${DELTA_TIME} -gt ${CACHE_TTL} ]; then
  echo "" >> "${CACHE_FILE}" # !!!
  DATACACHE=`curl -sS --insecure --max-time ${EXEC_TIMEOUT} "${STATSURL}" 2>&1`
  echo "${DATACACHE}" > "${CACHE_FILE}" # !!!
  echo "URL=${URL}"  >> "${CACHE_FILE}" # !!!
  chmod 640 "${CACHE_FILE}"
fi
#
if [ "${METRIC}" = "accesses" ]; then
  cat "${CACHE_FILE}" | grep -i "accesses" | cut -d':' -f2 | head -n1
fi
if [ "${METRIC}" = "kbytes" ]; then
  cat "${CACHE_FILE}" | grep -i "kbytes" | cut -d':' -f2 | head -n1
fi
if [ "${METRIC}" = "cpuload" ]; then
  cat "${CACHE_FILE}" | grep -i "cpuload" | cut -d':' -f2 | head -n1
fi
if [ "${METRIC}" = "uptime" ]; then
  cat "${CACHE_FILE}" | grep -i "uptime" | cut -d':' -f2 | head -n1
fi
if [ "${METRIC}" = "avgreq" ]; then
  cat "${CACHE_FILE}" | grep -i "ReqPerSec" | cut -d':' -f2 | head -n1
fi
if [ "${METRIC}" = "avgreqbytes" ]; then
  cat "${CACHE_FILE}" | grep -i "BytesPerReq" | cut -d':' -f2 | head -n1
fi
if [ "${METRIC}" = "avgbytes" ]; then
  cat "${CACHE_FILE}" | grep -i "BytesPerSec" | cut -d':' -f2 | head -n1
fi
if [ "${METRIC}" = "busyworkers" ]; then
  cat "${CACHE_FILE}" | grep -i "BusyWorkers" | cut -d':' -f2 | head -n1
fi
if [ "${METRIC}" = "idleworkers" ]; then
  cat "${CACHE_FILE}" | grep -i "idleworkers" | cut -d':' -f2 | head -n1
fi
if [ "${METRIC}" = "totalslots" ]; then
  cat "${CACHE_FILE}" | grep -i "Scoreboard" | cut -d':' -f2 | sed -e 's/ //g' | wc -c | awk '{print $1-1}'
fi
#
exit 0

Сделаем файл скрипта исполняемым:

chown root:zabbix /etc/zabbix/scripts/apache2-status.sh
chmod 550 /etc/zabbix/scripts/apache2-status.sh

Пример проверки скрипта:

sudo -u zabbix /etc/zabbix/scripts/apache2-status.sh none accesses http://HOST/server-status

Откроем файл конфигурации zabbix агента в редакторе:

sudo nano /etc/zabbix/zabbix_agentd.conf

И укажем следующие параметры:

UserParameter=apache2[*],/etc/zabbix/scripts/apache2-status.sh "none" "$1" "$2"

Некоторыми командами можно посмотреть количество процессов apache2 и соединений на 80 порт, для этого не нужен скрипт, например можно еще указать:

UserParameter=apache2.count_processes,ps aux | grep apache | wc -l
UserParameter=connections_on_80_port,netstat -na | grep :80 | wc -l

Перезапустим zabbix агент чтобы применить изменения:

sudo /etc/init.d/zabbix-agent restart

Проверим:

zabbix_get -s 127.0.0.1 -k "apache2[accesses,http://HOST/server-status]"

Теперь создадим шаблон и добавим элементы данных, пример создаваемых элементов данных:

apache2[КЛЮЧ,http://HOST/server-status]

Экспортировал готовый шаблон — apache2-status

К наблюдаемому хосту также обязательно добавим макрос:

Макрос: {$APACHE_STATS_URL}
Значение: http://HOST/server-status

Готово.

Количество процессов apache2 можно получать от Zabbix-агента создав на Zabbix-сервере элемент данных с ключом:

proc.num[apache2]

Как русифицировать OpenCart

Для того чтобы русифицировать OpenCart достаточно перейти на официальный сайт www.opencart.com, открыть раздел «Extension«, выбрать категорию «Languages«, выбрать версию Opencart, в строке поиска набрать «russian» и нажать Enter на клавиатуре.
Среди найденных переводов скачаем желаемый.
Он скачается архивом. Из архива распакуем две директории на веб-сервер в /admin/language/russian/ и /catalog/language/russian/.

Читать далее «Как русифицировать OpenCart»

Как сравнить два текстовых файла в Microsoft Word?

В Microsoft Word есть встроенная функция сравнения. Приведу пример на Word 2007 и 2010:

1) Перейдем во вкладку «Рецензирование» и нажмем на кнопку «Сравнить», потом «Сравнить…».

2) В открывшемся окне слева выберем исходный файл, а справа — файл с изменениями, можно также указать некоторые параметры сравнения нажав «Больше>>», жмем «ОК» и смотрим выделенные красным отличия.

Все.

Добавление ONT ZTE F660 на Huawei SmartAX MA5683T

В первую очередь настроим ONT. Подключимся к нему через любой из LAN портов, в браузере наберем адрес 192.168.1.1 и введем логин и пароль.
Стандартный логин — admin, пароль — admin.
С повышенными привилегиями логин — mgts, пароль — mtsoao.
Самое основное — создадим WAN подключение с необходимыми параметрами, в котором укажем номер VLAN, я буду использовать 228.

Читать далее «Добавление ONT ZTE F660 на Huawei SmartAX MA5683T»

Эмуляторы Android для Windows

Приведу список возможных эмуляторов Android для Windows и кратко опишу их. Другими словами через что можно запустить android приложения в Windows.

Читать далее «Эмуляторы Android для Windows»

Выполнение SQL запроса из скрипта в Linux

Понадобилось недавно написать скрипт выполняющий sql запрос в базу MySQL.
Пример содержимого:

# Описание, тут я написал для других что скрипт добавлен в crontab, дабы его не переместили
mysql -u ПОЛЬЗОВАТЕЛЬ -pПАРОЛЬ -h 127.0.0.1 -e "UPDATE nika_system.abon SET otkl=0 WHERE depozit > '10' AND (otkl='-1' OR otkl='-2');";

Чтобы скрипт выполнялся автоматически, откроем в любом текстовом редакторе файл crontab (в редакторе nano CTRL+X для выхода и y/n для сохранения или отмены изменений):

sudo nano /etc/crontab

Добавим в него следующую строку:

0 9 * * * root /home/nika/scripts/reset_credit_nika.sh > /dev/null 2>&1

Теперь ежедневно в 9 утра скрипт будет выполняться.

Приведу пример ежедневного автоматического вывода данных из sql таблицы в текстовый файл:

#!/bin/bash
mysql -u ПОЛЬЗОВАТЕЛЬ -pПАРОЛЬ -h 192.168.1.1 -s -N -e "SELECT id FROM nika_system.abon WHERE tarif=109;";

В /etc/crontab добавим:

0 8 * * * root /scripts/freektb.sh > /srv/samba/dir/mirazh/$(date +%Y-%m-%d).txt

В целях безопасности лучше не указывать пароль в скриптах, смотрите мою статью — Подключение к MySQL из localhost без ввода пароля

Резервное копирование конфигурации коммутаторов и прочего сетевого оборудования

Сегодня придумал скрипт резервного копирования конфигурации коммутаторов через telnet.
Идея возникла когда понадобилось делать резервные копии конфигурации главной станции GPON.

Содержимое моего скрипта:

#!/bin/bash
# For GPON MA56XX

(
sleep 5
echo "root"
sleep 5
echo "password"
sleep 5
echo "enable"
sleep 2
echo "backup configuration tftp 192.168.1.1 gpon.cfg"
sleep 2
echo "y"
sleep 10
echo "quit"
sleep 2
echo "y"
) | telnet 192.168.1.2
mv /srv/tftp/gpon.cfg /home/backups/now/switches/gpon/`date +%Y-%m-%d`_gpon.cfg

Содержимое поместим в файл к примеру backup_cfg.sh, сделаем файл исполняемым и добавим в /etc/crontab строку для авто выполнения скрипта например каждый день в 5 утра:

0 5 * * * root /home/backups/scripts/backup_cfg.sh > /dev/null 2>&1

Как запустить tftp сервер смотрите в моих статьях: Установка и настройка TFTP сервера в Ubuntu или Запуск TFTP сервера на Windows.
Смотрите также: Использование и настройка CRON

Обновление прошивки TP-Link TL-MR3220

Опишу действия по шагам:

1) Скачаем новую прошивку с официального сайта:
https://www.tp-link.com/ru/download/TL-MR3220.html
Прошивки есть под версии маршрутизаторов V1 и V2.
Скачивать нужно прошивку под ту версию маршрутизаторов которая написана на наклей под ним, иначе можно его испортить.

2) Откроем настройки маршрутизатора набрав в браузере адрес http://192.168.1.1 (может быть 192.168.0.1) и введем стандартный логин — admin, пароль — admin.

3) В открывшемся интерфейсе нажмем внизу «System Tools» — «Firmware Upgrade», где потом нажмем «Обзор» и выберем скачанный ранее и распакованный из архива файл прошивки, после чего нажмем «Upgrade» для запуска процесса обновления.

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

Все.