Category: Uncategorized

  • Мониторинг системы, скрипт для проверки запущен ли процес и сервис

    Если вам необходимо переодически проверять запущен ли процес на сервере Linux, есть простой способ сделать это – повесить данных скрипт в cron, 
    на врем которое вам необходимо. Вот сам скрипт, естественно необходимо помнять значенияю:
    #!/bin/bash
    # Name : service.chk 
     
    ## Change as per your distro 
    _pgrep=”/usr/bin/pgrep”
    _mail=”/usr/bin/mail”
     
    ## Add binary list here
    _chklist=”/usr/bin/php-cgi /usr/sbin/nginx /usr/sbin/lighttpd /usr/sbin/mysqld /usr/sbin/apache2 /usr/sbin/named /usr/sbin/pgsqld”
     
    ## yes | no
    _sendemail=”no”
     
    ## Add your email id
    _email=”your@mobile.email.id.example.com”
     
    ## Do not change below
    _failed=”false”
    _service=”Service:”
     
    _running() {
    local p=”${1##*/}”
    local s=”true”
    $_pgrep “${p}” >/dev/null || { s=”false”; _failed=”true”; _service=”${_service} $1,”; }
    [[ “$s” == “true” ]] && echo “$1 running” || { echo -n “$1 not running”; [[ ! -f “$1″ ]] && echo ” [ $1 not found ]” || echo ; }
    }
     
    ## header
    echo “Service status on ${HOSTNAME} @ $(date)”
    echo “——————————————————“
     
    ## Check if your service is running or not 
    for s in $_chklist
    do
    _running “$s”
    done
     
    ## Send a quick email update (good for cron jobs) ##
    [[ “$_failed” == “true” && “$_sendemail” == “yes” ]] && { _mess=”$_service failed on $HOSTNAME @ $(date)”; 
                                          $_mail -s \’Service not found\’ “$_email” < “${_mess}”;
                                                       }
    Есть проблемы с мониторингом и отказоустойчивостью сервера ? Обращайтесь – office@itfb.com.ua 
  • Удалить пароль в PDF файле в Linux

    Если вам необходимо удалить пароль на PDF в Linux, можно воспользоваться следующей инструкцией:
    sudo apt-get install pdftk
    После установки запускаем программу:
    pdftk input.pdf output output.pdf user_pw YOURPASSWORD-HERE
    pdftk input.pdf output output.pdf user_pw YOURPASSWORD-HERE owner_pw YOURPASSWORD-HERE
    Так же можно воспользовать программой qpdf, установим её:
    $ sudo apt-get install qpdf
    qpdf –password=YOURPASSWORD-HERE –decrypt input.pdf output.pdf
    Если вы забыли пароль и не можете его вспомнить, воспользуйтесь командой:
    gs -q -dNOPAUSE -dBATCH -sDEVICE=pdfwrite -sOutputFile=unencrypted.pdf -c .setpdfwrite -f encrypted.pdf
    Сам скрипт можно взять по ссылке:
    http://www.ghostscript.com/
    Есть проблемы с безопасностью сервера ? Обращайтесь – office@itfb.com.ua
  • Какая операционная система установлена у меня на сервере ?

    Если вы не знаете какая операционная система типа *nix установлена у вас на сервере – это можно посмотреть следующими командами:
    $ uname -a
    Обычный вывод:
    SunOS solaris 5.11 snv_151a i86pc i386 i86pc Solaris
    $ uname -a
    Так же вывод Linux:
    Linux wks01 2.6.32-5-amd64 #1 SMP Tue Jun 14 09:42:28 UTC 2011 x86_64 GNU/Linux
    Если вы думаете что работаете на IBM AIX, воспользуйтесь командой:
    # oslevel -r
    Есть проблемы с установкой и настройкой *nix сервера? Обращайтесь – office@itfb.com.ua
  • Parted. Добавляем на сервер Linux новый диск 2TB

    Если у вас на сервер Linux необходимо добавить новый жесткий диск объемом более 2Tb сделать это можно через gparted.
    Учитываем что новый диск это /dev/sdb:
    parted -a optimal /dev/sdb
    (parted) mklabel
    Warning: The existing disk label on /dev/sdb will be destroyed and all data on this disk will be lost. Do you want to continue?
    Yes/No? Yes
    (parted) mkpart primary ext2 0% 100%
    (parted) set 1 lvm on
    После этого можем примонтировать диск в системе:
    mount /dev/sdb1 /mnt/disk2
    Есть проблемы с администрированием серверов Linux ? Обращайтесь – office@itfb.com.ua
  • Проблемы на сервере с RoundCube, ошибка при добавлении файла к вложению

    Если у вас на почтовом сервере Linux установлен Roundcube и появляется ошибка “Невозможно загрузить файл”, скорее всего проблему можно решить редактированием конфигурации roundcubemail.conf:
    <Directory /usr/share/roundcubemail/>
        AssignUserID apache apache
        php_admin_value open_basedir none
        php_admin_value upload_tmp_dir /tmp
        php_admin_value session.save_path /tmp
        php_admin_value safe_mode off
    </Directory>
    После изменений переменных php_admin_value необходимо перезапустить apache.
  • Как запустить скрипт MYSQL или Oracle в Linux shell

    Если вам необходимо выполнить скрипт в SHELL в котором используются команды SQL можно воспользоваться следующей инструкцией:
    MySQL, используюя такой небольшой скрипт:
    #!/bin/sh
    user=”dbuser”
    pass=”dbpassword”
    db=”dbnme”
    mysql -u “$user” -p”$pass” “$db” <<EOF
      sql-statement-1;
      sql-statement-2;
    EOF
    Так же можно использовать следующий пример:
    #!/bin/sh
    user=”system”
    pass=”manager”
    var=”$1″
    sqlplus -S $user/$pass <<EOF
     SELECT * FROM tableName WHERE username=$var;
     exit;
    EOF
    Необходимо оптимизировать производительность базы данных ? Обращайтесь – office@itfb.com.ua
  • Как получить Ip адрес вашего сервера в скрипте

    Если вам для работы необходимо получить ip адрес вашего сервера в скрипте, это можно сделать следующим образом:
    # ifconfig eth0 | grep \’inet addr:\’
    Так же если вам необходимо получить маску и широковещательный адрес, можно использовать команду:
    # ifconfig eth0 | egrep \'([0-9]{1,3}.){3}[0-9]{1,3}\’
    На подобном примере вывод будет: 
    inet addr:192.168.2.100  Bcast:192.168.2.255  Mask:255.255.255.0
    192.168.2.100
    192.168.2.255
    255.255.255.0
    Так же можно пропробовать использовать на вашем сервере комаду:
    # ip -f inet addr show eth0| grep \’inet\’
    Её вывод будет: 
    inet 192.168.2.100/24 brd 192.168.2.255 scope global eth0
    Вот для примера, покажем только ip адрес сервера:
    # ip -f inet addr show eth0 | awk -F\’inet\’ \'{ print $2}\’ | cut -d\’ \’ -f21
  • Iptables проброс порта, пересылка трафика на другой порт

    Как сделать на Iptables проброс порта, в этом поможет небольшая инструкция. Основные директивы которые участвуют в пробросе порта, это:
    PREROUTING — для изначальной обработки входящих пакетов.
    REDIRECT – показывает куда в конечном итоге должен прийти трафик
    Например:
    iptables -t nat -A PREROUTING -i eth0 -p tcp –dport $srcPortNumber -j REDIRECT –to-port $dstPortNumber
    iptables -t nat -A PREROUTING -i eth0 -p udp –dport $srcPortNumber -j REDIRECT –to-port $dstPortNumber
    Как видите мы указываем протокол – tcp или udp и порт источника и порт назначения, например:
    iptables -t nat -A PREROUTING -i eth0 -p tcp –dport 25 -j REDIRECT –to-port 2525
    После применения правила необходимо сохранить настройки фаервола:
    iptables-save
    Есть проблемы с безопасностью сервера ? Обращайтесь – office@itfb.com.ua
  • Как посмотреть все разделы в Linux ?

    Если вам необходимо просмотреть все разделы на вашем винчестере в Linux, можно это сделать с помощью команды:
    sudo fdisk -l
    или 
    # fdisk -l
    Если вы хотите посмотреть разделы только на определенном диске, можно воспользоваться командой:
    $ sudo fdisk -l /dev/sda
    Так же можно использовать команду:
    $ cat /proc/partitions
    Например:
    major minor  #blocks  name
       8     0   71567360 sda
       8     1     104391 sda1
       8     2   12586927 sda2
       8     3   57817935 sda3
  • Под каким пользователем работает apache ?

    Если вы не знаете под каким пользователем работает apache, вам поможет данная инструкция.
    lsof -i
    lsof -i | less
    lsof -i | grep :http
    httpd 17074     dc22    4u  IPv4 42496401       TCP 10.8.4.229:http (LISTEN)
    httpd 17230    vivek    4u  IPv4 42499206       TCP 10.8.4.230:http (LISTEN)
    httpd 17336    jail2    5u  IPv4 42499357       TCP 10.8.4.228:https (LISTEN)
    httpd 31723  phpcgi1    4u  IPv4 52573816       TCP 10.8.4.227:http (LISTEN)
    Так же можно использовать следующие команды: 
    egrep -iw –color=auto \’user|group\’ /etc/httpd/conf/httpd.conf
    egrep -iw –color=auto \’^user|^group\’ /etc/httpd/conf/httpd.conf
    Обычный вывод:
    User apache
    Group apache
    Есть проблемы с настройкой сервера Linux ? Обращайтесь – office@itfb.com.ua