Персональный сайт Антона Южанинова
 

Полезные фрагменты shell-скриптов

под shell имеется ввиду posix-совместимый /bin/sh

Понижение приоритета текущего процесса

renice -n +20 -p $$ 2>/dev/null

Изменение расширения у файлов

ext=tar.gz

for i in *.$ext; do
  mv -v $i "${i%.$ext}.tgz"
done

Посмотреть с каких IP больше всего подключений к данному серверу на определенный порт

LC_ALL=C; export LC_ALL # sort -rn работает неправильно при LC_NUMERIC=ru_RU.KOI8-R

IP=$(host -t A $(hostname) | awk '{ print $NF}')

netstat -an -ptcp | awk "/ $IP\.25 .* ESTABLISHED/ { sub(/\.[0-9]*$/,\"\",\$5); print \"- \"\$5 }" | sort | uniq -c | sort -rn

tcpdrop.sh - сброс всех подключений к данному IP

if [ "$#" -ne "1" ]; then
    echo "usage: $0 IP"
    exit 2
fi

IP=$1

netstat -n -f inet -p tcp | fgrep " $IP." | sed -e 's/^.* \([0-9]*\.[0-9]*\.[0-9]*\.[0-9]*\)\.\([0-9]*\) * \([0-9]*\.[0-9]*\.[0-9]*\.[0-9]*\)\.\([0-9]*\) .*$/sudo tcpdrop \1 \2 \3 \4/' | sh
 
freebsd/shell.txt · Последние изменения: 2010/05/13 18:09 citrin
 
Recent changes RSS feed Donate Powered by PHP Valid XHTML 1.0 Valid CSS Driven by DokuWiki .