Система Orphus
[]

четверг, 26 апреля 2012 г.

httpd: (98)Address already in use: make_sock: could not bind to address

Сегодня при попытке перезапустить апач на одном из серверов на CentOS 6.2, получил сообщение:
# /etc/init.d/httpd restart
Останавливается httpd:                                  [СБОЙ ]
Запускается httpd: (98)Address already in use: make_sock: could not bind to address 1.1.1.1:443
no listening sockets available, shutting down
Unable to open logs
                                                        [СБОЙ ]

Обычно такое возникает, когда какой-то другой процесс занял нужный порт. Но у меня проблема была в другом.
[]

Поиск отсутствующих файлов, упомянутых в include

( FILES="$(find /var/www/ -name '*.php' -exec grep include "{}" \; | \
  awk -F'"' '{print $2}' | sort | uniq)" && \
  echo "$FILES" && echo "$FILES" | \
  while read FILE ; do \
    find /var/www/ -name "$FILE"; \
  done | \
  sed -e 's/.*\/\(.\+\)$/\1/' ) | sort | uniq -u ; unset FILES

[]

среда, 25 апреля 2012 г.

Перекодировать файлы в текущем каталоге

# рекурсивно, все файлы
find -type f -exec enconv "{}" \;


# рекурсивно, выбрать по суффиксу (расширению)
find -type f \( -name '*.js' -o -name '*.php' \) -exec enconv "{}" \;


# только текущий каталог (не спускаться ниже), все файлы
find -type f -maxdepth 1 -exec enconv "{}" \;

[]

Сколько файлов в какой кодировке?

# все файлы
find -type f -exec enca -ip "{}" \; | sed -e 's/^.*\.//' | sort | uniq -c


# выбрать по суффиксу (расширению)
find -type f \( -name '*.js' -o -name '*.php' \) -exec enca -ip "{}" \; | sed -e 's/^.*\.//' | sort | uniq -c

Пример результата работы:
$ find -type f \( -name '*.js' -o -name '*.php' \) -exec enca -ip "{}" \; | sed -e 's/^.*\.//' | sort | uniq -c
     17 js: ASCII
     34 js: UTF-8
    238 php: ASCII
    117 php: UTF-8


[]

вторник, 3 апреля 2012 г.

Разные трюки с ssh

1. Узнать скорость соединения между хостами:
yes | рv | ssh host.com "cat > /dev/null"
Нужно установить пакет pv (в deb и rpm одинаково называется).