Contents
- FreeBSD, Linux и др - Подсказки, Линки
- Линки
- VIMkeys
- SED
- AWK
- MySQL
- SSH
- Поменять репозиторий при установке пакетов(FreeBSD)
- Посмотреть какие процессы грузят диск.(FreeBSD)
- Сгенерировать SSL сертификат для тестирования
- Проверка телнетом smtp
- SHELL
- CISCO
- Настройка сетевых интерфейсов (FreeBSD)
- Передернуть named
- Информация о файловой системе. (FreeBSD)
- Статистика загрузки дисков в gmirror. (FreeBSD)
- Полноэкранный вывод содержимого с периодичностью в n сек. (Linux)
- Поставить задание на выполнение в определенное время
- HTTP
- Ребилд паролей (FreeBSD)
- Чтобы проверить валидность ssl ключа и сетификата
- Подготовить приватный ключ для использования с Апачем
- Посмотреть CSR
- Проверить целостность RPM у VPS (Virtuozzo)
- Размер баз данных в postgresql
- Список баз данных в postgresql
- Использование nc
- Проброс портов с помощью nc
- Посмотреть кто жрет шаред мемори
- Заменяем виндовый символ перевода строки на юниксовый:
- Проверить работу сетевых интерфейсов (FreeBSD)
- Посмотреть железо (FreeBSD)
- Посмотреть какой сокет какая программа держит (Linux)
- Верификация пароля
- Сделать подсветку в ldapvi
- hping
- Статистика интерфейса(linux)
- Сетевая загрузка(FreeBSD)
- Активизировать ipfw
- Кто грузит процессор
- Наиболее частые команды управления exim
- SCREEN
- Packet Filter (pf, FreeBSD)
- .htaccess, Сделать редирект с корня на index.php
- x509, Посмотреть Subject
- iproute2 (Linux)
- Unixtime <--> человеческий вид
- Распаковать rpm
- ip2hex, hex2ip
- NFS(FreeBSD 6.X)
- Трассировка ввода/вывода в Linux
- SOLARIS проверить какому пакету принадлежит файл
- SOLARIS Вывести список файлов принадлежащих пакету
- SOLARIS сменить IP хосту
- SOLARIS посмотреть какая зона грузит
- Узнать какому процессу принадлежит открытый порт в AIX
- SOLARIS преконфигурировать систему
- ORACLE посмотреть кто какие запросы выполняет
- ORACLE кто откуда подключен, какой статус подключения
- DSMC - Tivoli command line client
- LINUX Статистика сети
- Атрибуты файла на perl
- Посмотреть какие патчфиксы стоят в AIX
- Виртуальный диск в памяти: как создать ramdisk в Linux
- AIX - диски
- Заресайзить файловую систему AIX
- SOLARIS Посмотреть список патчей
- Посмотреть ошибки железа в AIX
- резайз тома LINUX
- AIX - статистика по системе
- Linux - информация о нагрузке - процессор, память, контентсвитчинг
- Linux - статистика по дискам
- Некоторые команды солярис
- Дернуть сервис sol10
- Установка с cdrom на спарк T5220
- iLOM T5220
- LINUX HP RAID CLI
- SOLARIS После подключение нового диска
- Перестроить метадевайсы после ребута
- SOLARIS Статистика сети
- Погасить оракл
- SOLARIS поправить штатный ftp - чтобы не подхватывал локаль ru_RU.UTF-8 и выдавал список файлов по ls
- GPG commands
- Linux. Блокировка IP-адреса при помощи null route
- LINUX. Узнать размер используемого дискового пространства, занимаемое файлами rpm/deb-пакета, с сортировкой по размеру
- rescan scsi(Linux)
- AIX, посмотреть WWN-ы
- AIX вместо fstab
- Solaris, статистика по памяти
FreeBSD, Linux и др - Подсказки, Линки
Сюда будут складываться всякого рода мелкие подсказки, чтобы далеко не ходить.
Линки
VIMkeys
^ - начало строки, $ - конец строки, w - начало след слова, e - конец слова gg - начало файла, G - конец файла, Ctrl-g - информация <NN>G перейти на строку NN, <NN>d<^,w,e,$,d> - удаление R,r - замена, I,i - вставка, c<^,w,e,$> - замена в режиме вставки % - поиск парных скобок, o,O - создать пустую строку под,над курсором a,A - append - за курсором, строкой. поиск-замена :s/old/new - первое вхождение в строке :s/old/new/g - все вхождения в строке :#,#s/old/new/g - все вхождения между строками :%s/old/new/g - все вхождения в файле :%s/old/new/gc - с подтверждением каждой замены :!<внешняя команда>, :#,# w <имя файла> - записать в файл фрагмент :r FILENAME - считать с диска файл Автодополнение - CTRL+n, CTRL+p Свернуть текст (подробней см. :help zf) zf12 - свернуть 13 строк, начиная со строки под курсором. 12zf - свернуть 13 строк, начиная со строки под курсором. :0,fo[ld] - свернуть все от начала файла до текущей позиции курсора Развернуть текст - zo Показать все доступные опции - :set all
Многооконный режим редактирования файлов в Vim
Открытие двух или трех файлов в разных окнах vim.
С горизонтальной разбивкой окон на экране: vim -o /etc/passwd /etc/hosts vim -o /etc/passwd -o /etc/group /etc/hosts С вертикальной разбивкой окон на экране: vim -O /etc/passwd /etc/hosts vim -O /etc/passwd -O /etc/group /etc/hosts Наглядный просмотр отличий нескольких файлов vim -d файл1 файл2 vim -d файл1 -d файл2 файл3 Команды переключения между окнами: "CTRL-w w" - быстрое переключение на следующее окно "CTRL-w влево" - активация левого окна "CTRL-w вправо" - активация правого окна "CTRL-w вверх" - активация верхнего окна "CTRL-w вниз" - активация нижнего окна "CTRL-w n" - создать новое окно (":new файл" - открыть заданный файл) "CTRL-w q" - закрыть текущее окно (":qall" - закрыть все окна разом, ":qall!" - без сохранения, ":write" - записать данные во всех окнах) "CTRL-w s" - разбить текущее окно на 2 части для синхронного редактирования разных частей (в каждом окне будет содержимое одного и того же файла). "CTRL-w +", "CTRL-w -" - увеличение или уменьшение текущего размера окна "ESC 5 CTRL-w -", "ESC 5 CTRL-w +" - изменение размера сразу на 5 строк/столбцов "CTRL-w h" - переместить окно влево "CTRL-w j" - переместить окно ниже "CTRL-w k" - переместить окно выше "CTRL-w l" - переместить окно вправо "CTRL-w t" - переместить окно на самый верх "CTRL-w b" - переместить окно в самый низ
Табы
vim -p [filelist] - Открыть файлы в табах(вкладках). :tabnew [filename] OR :tabe [filename] - открыть файл в новом табе(вкладке). :tabnext/tabprev/tablast/tabfirst -Перемещение между вкладками.
См. также http://boombick.org/blog/posts/84 и http://rayninfo.co.uk/vimtips.html
SED
Напечатать строки в которые паттерн входит: w | sed -n '/aabp/p' Напечатать строки в которые паттерн не входит: w | sed -n '/aabp/!p' Напечатать 5 первых строк: w | sed -n '1,5p' Напечатать все кроме первых пяти строк: w | sed -n '1,5!p' Удалить первую и последнюю строки: w | sed -e '1d' -e '$d' Вывести первую и последнюю строки: w | sed -n -e '1p' -e '$p' Удалить из потока строки из паттерна: w | sed '/aabp/d' Оставить в потоке строки из паттерна: w | sed '/aabp/!d' Добавить после строки с паттерном: w | sed '/aabp/aдополнительная строка' Заменить строку с паттерном: w | sed '/aabp/cстрока на замену' Вставить перед строкой с паттерном: w | sed '/aabp/iдополнительная строка' Напечатать каждый символ на отдельной строке: echo -n "This is th string" | sed -e 's/./&\n/g'
AWK
AWK - Суммирование по полям
$ cat testawk pole1 12 pole2 12 pole1 10 pole2 90 $ cat testawk | awk '{sum[$1] +=$2} END {for(i in sum) {print i, sum[i]}}' pole1 22 pole2 102 $ cat testawk | awk '{sum[$1] +=$2; sum1 += $2 } END {for(i in sum) {print i, sum[i]} {print "Итого:", sum1}}' pole1 22 pole2 102 Итого: 124 $ cat testawk | awk '{sum[$1] +=$2} END {for(i in sum) {print i, sum[i]; sum1 +=sum[i]} {print "Итого:", sum1}}'
Суммируем с помощью awk
ls -la *.dat | awk '{SUM+=$5} END {print SUM}'
MySQL
Вычисление размера таблиц MySQL
use information_schema; SELECT concat(table_schema,'.',table_name),concat(round(table_rows/1000000,2),'M') rows, concat(round(data_length/(1024*1024*1024),2),'G') DATA, concat(round(index_length/(1024*1024*1024),2),'G') idx, concat(round((data_length+index_length)/(1024*1024*1024),2),'G') total_size, round(index_length/data_length,2) idxfrac FROM TABLES ORDER BY data_length+index_length DESC LIMIT 10;
Узнать не разъехалась ли реплика mysql
mysql> show slave status; на слейве mysql> show master status; на мастере
проверяем цифры и файлы - цифры не должны сильно расходиться если слейв встал надо сказать: start slave;
Если mysql уходит в своп
- В my.cnf key_buffer - уменьшить, query_cache_size - увеличить
анализ: mysqladmin ext | grep -i cache параметр Qcache_lowmem_prunes - если растет увеличиваем query_cache_size
Чекалка больших баз myisam (MySQL)
myisamchk --silent --force --fast --update-state --key_buffer_size=64M --sort_buffer_size=64M \ --read_buffer_size=1M --write_buffer_size=1M *.MYI
SSH
Openssh, директива ProxyCommand
ssh-клиент openssh позволяет в настройках указывать директиву ProxyCommand, описывающую как можно получить канал для связи с удаленным концом соединения. Например
~$ cat .ssh/config Host far-far-away ProxyCommand ssh -q -A -X my-jumphost 'nc -w1 final-target 22'
- Такой сниппет заставит по команде ssh far-far-away клиента зайти на хост my-jumphost и выполнить там команду nc -w1 final-target 22, которая организует pipe до 22 порта хоста final-target. Этот канал и будет использоваться как канал связи. Т.е. мы избавляемся от двойного ssh и попадаем куда надо за одну команду.
Ссылки: http://blog.ganneff.de/blog/2007/12/15#ssh_jumphost, http://zulu.in.ua/ssh-jumphost/ru/#more-148
SSH-тунель
ssh -2 -4 -N -f -L 6033:otherhostname:3306 user@hostname ssh -D bindingaddress:9999 username@hostname # socks proxy ssh -R 22299:localaddress:22 username@hostname # from hostname command "ssh -p 22299 127.0.0.1" дает возможность попасть на ssh-порт "localaddress"
Для автовнесения хостов в known_hosts
ssh -o "StrictHostKeyChecking no"
Поменять репозиторий при установке пакетов(FreeBSD)
export PACKAGEROOT=http://user:pass@rep.local pkg_add -r package
Посмотреть какие процессы грузят диск.(FreeBSD)
ps auxwwww -O inblk,oublk | more top -mio -o total
Сгенерировать SSL сертификат для тестирования
http://httpd.apache.org/docs/2.0/ssl/ssl_faq.html#selfcert
openssl req -new -x509 -nodes -out server.crt -keyout server.key
Проверка телнетом smtp
telnet mx.domain.tld 25
HELO pankin.ru MAIL FROM: <bpankin@pankin.ru> RCPT TO: <bpankin@domain.tld> DATA From: "John Smith" <bpankin@pankin.ru> To: "Jane Doe" <bpankin@domain.tld> Subject: test message sent from manual telnet session Date: Wed, 11 May 2011 16:19:57 -0400 Hello World, This is a test message sent from a manual telnet session. Yours truly, SMTP administrator . QUIT
SHELL
Итеративный цикл в sh (FreeBSD)
for i in `jot 14 2 15`; do echo $i; done
Итеративный цикл в sh (Linux)
for i in `seq 4 12`; do echo $i; done
Итеративный цикл в bash
for i in {1..15}; do echo $i; done for ((i=1;i<12;i++)) do echo $i; done
Как послать письмо с аттачем из shell
$ metasend -b -s "$SUBJECT" -f $TXTFILE -m text/plain -e none -n \ -f $ATTFILE -m application/octet-stream -e base64 -t $MAILTO $ mpack -s "$SUBJECT" -c application/octet-stream $ATTFILE $MAILTO $ mutt -a $ATTFILE -s "$SUBJECT" $MAILTO < $TXTFILE
CISCO
Посмотреть роутинг на кошке (Cisco)
rsh cisco-host sh ip route 12.1.23.5
Посмотреть статистику по порту (Cisco)
rsh cisco-host sh int Gi3/10
Посмотреть настройки порта (Cisco)
rsh cisco-host sh running int Gi3/10
Посмотреть статус (Cisco)
rsh cisco-host sh int status
Посмотреть соответствие мак-адресов и ip-адресов (Cisco)
rsh cisco-host sh ip arp
Настройка сетевых интерфейсов (FreeBSD)
/etc/start_if.$1, где $1 - имя сетевого интерфейса - это добавочный файл настроек, который вызывается из /etc/network.subr - практически нигде не задокументирован.
=== cut /etc/network.subr === ifscript_up() { if [ -r /etc/start_if.$1 ]; then . /etc/start_if.$1 return 0 fi return 1 }
Передернуть named
rndc reload
Информация о файловой системе. (FreeBSD)
- dumpfs - информация о файловой системе. (FreeBSD)
Статистика загрузки дисков в gmirror. (FreeBSD)
- gstat - статистика загрузки дисков в gmirror. (FreeBSD)
Полноэкранный вывод содержимого с периодичностью в n сек. (Linux)
watch -n1 cat /proc/meminfo
Поставить задание на выполнение в определенное время
echo "sutdown -p now " | at -t 10140100 echo "ls -la / | mail mypostbox@mydomain.tld" | at 1am Oct 14 echo "touch /home/web/maintenance.lock" | at -t 201301201000
HTTP
Проверка HTTP телнетом
telnet www.mail.ru 80 Trying 194.67.57.226... Connected to www.mail.ru. Escape character is '^]'. GET / HTTP/1.0
- Enter жать два раза
Проверка HTTP
printf "GET / HTTP/1.0\r\n\r\n" | netcat ya.ru 80 printf "HEAD / HTTP/1.0\r\n\r\n" | netcat ya.ru 80 HEAD ya.ru GET ya.ru lwp-request -m GET ya.ru lwp-request -m HEAD ya.ru curl -G http://ya.ru curl -I http://ya.ru
HTTP коды
coWiki status and error codes - HTTP коды
Ребилд паролей (FreeBSD)
pwd_mkdb -p -s 128 /etc/master.passwd
Чтобы проверить валидность ssl ключа и сетификата
нужно выполнить следующие команды:
openssl x509 -noout -text -in server.crt openssl rsa -noout -text -in server.key
У валидного ключа и сетификата должны совпадать Public Modulus и Exponent. Так же стоит обратить внимание на дату валидности сертификата.
Подготовить приватный ключ для использования с Апачем
http://tldp.org/HOWTO/SSL-Certificates-HOWTO/x246.html
openssl rsa -in newreq.pem -out wwwkeyunsecure.pem
Посмотреть CSR
openssl req -in request.csr -noout -text
Проверить целостность RPM у VPS (Virtuozzo)
/usr/share/vzpkgtools/vzrpm/bin/rpm --root=/vz/root/3042 --veid 3042 -Va | egrep '^..5|missing'
Размер баз данных в postgresql
echo "select pg_size_pretty(pg_database_size('template1'));" | sudo -u pgsql psql template1
Список баз данных в postgresql
echo "\encoding KOI8-R\l" | sudo -u pgsql psql template1 sudo -u postgres psql -l
Использование nc
хост-приемник - $ nc -l 2222 > otrs.data.20070712.sql хост-источник - $ nc dst-host 2222 < otrs.data.20070712.sql
Проброс портов с помощью nc
В ined.conf прописать
FreeBSD
127.0.0.1:5000 stream tcp nowait nobody /usr/bin/nc nc -w 20 192.168.1.10 80
Linux
127.0.0.1:5000 stream tcp nowait nobody /usr/sbin/tcpd /bin/nc -w 20 192.168.24.203 22
Посмотреть кто жрет шаред мемори
# ipcs -a
Заменяем виндовый символ перевода строки на юниксовый:
perl -pi -e 's/\r\n/\n/'
Проверить работу сетевых интерфейсов (FreeBSD)
netstat -ni (колонка Ierrs, Oerrs) netstat -Lan - посмотреть очередь обработки сетевых запросов sockstat - посмотреть кто из программ держит порт ifstat - статистика загрузки интерфейса или netstat -w 1 -d
Посмотреть железо (FreeBSD)
dmidecode pciconf -l
Посмотреть какой сокет какая программа держит (Linux)
netstat -pvlA inet lsof -i -U lsof -nPRi :9000
Верификация пароля
USERNAME=username; PASSWORDOFUSER=passwordofuser; openssl passwd -1 -salt `sudo cat /etc/master.passwd | grep $USERNAME | cut -f 3 -d '$'` $PASSWORDOFUSER
Сделать подсветку в ldapvi
:set ft=ldif
hping
hping -p 80 -S -c 25 amazon.com
Статистика интерфейса(linux)
- bmon -p eth0.100
Сетевая загрузка(FreeBSD)
systat -ifstat 1 systat -tcp 1 systat -ip 1
Активизировать ipfw
kldload ipfw && ipfw add 32000 allow ip from any to any
Кто грузит процессор
LINUX: ps -eo user,pcpu,pid,cmd | sort -r -k2 | head -6 FREEBSD: ps -eo user,pcpu,pid,command | sort -r -k2 | head -6 SOLARIS: ps -eo user,pcpu,pid,comm,args | sort -r -k2 | head -6 AIX: ps -eo user,pcpu,pid,comm,args | sort -r -k2 | head -6
Наиболее частые команды управления exim
- Количество сообщений в очереди: exim -bpc
- Просмотр сообщений в очереди:
- всего: exim -bp
- недоставленных: exim -bpu
- табличный вариант: exim -bp |exiqsumm
- Просмотр конкретного сообщения по ID:
- лог сообщения: exim -Mvl message_id
- тело сообщения: exim -Mvb message_id
- заголовки: exim -Mvh message_id
- Форсировать процессинг очереди: exim -qff
- Форсировать доставку конкретного сообщения: exim -M message_id
- Удалить сообщение из очереди
- без баунса: exim -Mrm message_id
- с баунсом: exim -Mg message_id
- Интересная статистика по работе exim: eximstats -nr /var/log/exim/mainlog
SCREEN
ctrl-a S - добавить еще одно горизонтальное окно ctrl-a TAB - переключится в следующее окно
Packet Filter (pf, FreeBSD)
- Перезапустить pf
pfctl -nf /etc/pf.conf pfctl -f /etc/pf.conf
- Посмотреть правила: pfctl -sr
- Посмотреть статистику pfctl -sa
.htaccess, Сделать редирект с корня на index.php
- помогает при некоторых DDos-атаках
RewriteEngine On RewriteRule ^$ /index.php [R=permanent,L]
x509, Посмотреть Subject
openssl x509 -in <crtNAME>.crt -noout -subject
iproute2 (Linux)
Просмотр списка IP-адресов с помощью утилиты ip ip a ip a s ip address show Просмотр списка сетевых интерфейсов с помощью утилиты ip ip l ip l l ip link list Просмотр списка IP-адресов с помощью утилиты ip ip r ip r s ip route show Содержимое ARP-кэша ip n ip n s ip neigh show Удалить из ARP-кэша ip neigh delete 9.3.76.43 dev eth0
Unixtime <--> человеческий вид
FreeBSD date -j -f "%Y%m%d %T " "20080616 08:00:00" "+%s" date -r 1213873906 +"%Y%m%d %T" Linux date -d 22:00 +%s date -u -d "1970-01-01 1191939254 sec GMT" date -u -d "1970-01-01 1191939254 sec GMT" +"%Y%m%d %T"
echo 1213873906 | perl -pe 's/\d+/localtime($&)/e'
echo 1213873906| python -c "import time; print time.ctime(int(raw_input()))"
Распаковать rpm
rpm2cpio file.rpm | cpio -idmuv --no-absolute-filenames
ip2hex, hex2ip
$ echo 192.168.0.58 | (export IFS=.; read -a ip; printf "%02X%02X%02X%02X" ${ip[*]}) $ i=ffffffc0; echo $((0x${i:0:2})).$((0x${i:2:2})).$((0x${i:4:2})).$((0x${i:6:2})) MYSQL: select HEX(INET_ATON('192.168.34.12')); select INET_NTOA(0xC0A8220C);
NFS(FreeBSD 6.X)
- Общий прорядок перезапуска всех nfs сервисов:
/etc/rc.d/rpcbind restart /etc/rc.d/nfsclient restart /etc/rc.d/nfsd restart /etc/rc.d/nfslocking restart /etc/rc.d/nfsserver restart /etc/rc.d/mountd restart
- Проверить, что все сервисы подхватились:
/usr/bin/rpcinfo -p showmount -ae
Трассировка ввода/вывода в Linux
Источник: http://www.opennet.ru/tips/info/1952.shtml
Утилита blktrace (присутствует в репозиториях Ubuntu и Debian) позволяет проконтролировать какие именно данные передаются для заданного блочного устройства.
Например, посмотреть общую статистику и детали обмена данными с /dev/sda можно выполнив команду:
blktrace -d /dev/sda -o - | blkparse -i -
где, blkparse фильтр для наглядного представления результатов.
В качестве альтернативы можно предложить задействование механизма /proc/sys/vm/block_dump, при записи 1 в этот файл начнется сбор данных, при записи 0 - результаты будут выведены в буфер dmesg. Скрипт для упрощения разбора данных можно загрузить здесь: http://www.digitalprognosis.com/opensource/scripts/top-disk-users
Мониторинг ввода/вывода не на уровне планировщика, а на уровне конечных процессов удобно проводить при помощи утилиты iotop (http://guichaz.free.fr/iotop/)
SOLARIS проверить какому пакету принадлежит файл
pkgchk -l -p /usr/bin/ls
SOLARIS Вывести список файлов принадлежащих пакету
pkgchk -v CSWpostfix
SOLARIS сменить IP хосту
# cd /etc # find . -type f -exec grep -l $CURRENTIPADDRESS {} \;
Правим найденные файлы
SOLARIS посмотреть какая зона грузит
ps -efZ
Узнать какому процессу принадлежит открытый порт в AIX
# netstat -Aan | grep EST f10006000116ab98 tcp4 0 0 127.0.0.1.32824 127.0.0.1.32779 ESTABLISHED f1000600049db398 tcp4 0 0 127.0.0.1.32779 127.0.0.1.32827 ESTABLISHED f1000600049c5b98 tcp4 0 0 127.0.0.1.32827 127.0.0.1.32779 ESTABLISHED # rmsock f1000600049c5b98 tcpcb The socket 0x49c5808 is being held by proccess 983172 (aixmibd64).
ИЛИ
# netstat -Aan | grep LIST f100060004852b98 tcp 0 0 *.21 *.* LISTEN f10006000118e398 tcp4 0 0 *.22 *.* LISTEN f1000600049c7398 tcp4 0 0 *.25 *.* LISTEN f1000600012bcb98 tcp 0 0 *.80 *.* LISTEN # kdb (0)> sockinfo f1000600012bcb98 tcpcb proc/fd: fd: 337 SLOT NAME STATE PID PPID ADSPACE CL #THS pvproc+00AC00 43*java ACTIVE 002B066 004D046 000000000C287400 0 0034 ^^^^^^^ Пид в хексе
SOLARIS преконфигурировать систему
sys-unconfig
ORACLE посмотреть кто какие запросы выполняет
select s.sql_text,ses.username,ses.osuser,ses.STATUS,s.address from v$sql s , v$session ses where ses.sql_address=s.address;
ORACLE кто откуда подключен, какой статус подключения
select sid||','||serial# sess, username,program,machine,status from v$session;
select sid||','||serial# sess, username,program,machine,status from v$session where machine = 'ibank_gate' and status = 'ACTIVE';
DSMC - Tivoli command line client
dsmc q b "*" # - посмотреть список бэкапов dsmc selective -filelist=logs/to_backup.lst-test # забэкапить файло из to_backup.lst-test
http://publib.boulder.ibm.com/tividd/td/TSMC/GC32-0788-04/ru_RU/HTML/ans6000002.htm#wq1
LINUX Статистика сети
netstat -st
Атрибуты файла на perl
perl -e '$filename="filename";($dev,$ino,$mode,$nlink,$uid,$gid,$rdev,$size,$atime,$mtime,$ctime,$blksize,$blocks) = stat($filename); print $mtime, "\n"' | perl -pe 's/\d+/localtime($&)/e'
и далее по аналогии
Посмотреть какие патчфиксы стоят в AIX
instfix -i
http://unix.ittoolbox.com/groups/technical-functional/ibm-aix-l/checking-patch-level-on-aix-1528233
Виртуальный диск в памяти: как создать ramdisk в Linux
# mount -t tmpfs -o size=xxxM tmpfs /mnt/tmpfs/
AIX - диски
# lsvg <<< rootvg mix_logvg mix_datavg ddb_redovg ddbvg ddb_undovg ddb_archvg rdb_redovg rdb_undovg sdb_logvg rdbvg sdbvg >>> # lsvg -l ddbvg <<< ddbvg: LV NAME TYPE LPs PPs PVs LV STATE MOUNT POINT logtemp11 jfs2log 1 1 1 open/syncd N/A fslv15 jfs2 40 40 1 open/syncd /oracle fslv16 jfs2 500 500 1 open/syncd /oradata/p012band/data >>> # lsvg -p ddbvg <<< ddbvg: PV_NAME PV STATE TOTAL PPs FREE PPs FREE DISTRIBUTION vpath0 active 599 58 00..00..00..00..58 >>> # datapath query device 0 DEV#: 0 DEVICE NAME: vpath0 TYPE: 2107900 POLICY: Optimized SERIAL: 75Z02011000 ========================================================================== Path# Adapter/Hard Disk State Mode Select Errors 0 fscsi0/hdisk2 OPEN NORMAL 13951029 0 1 fscsi0/hdisk13 OPEN NORMAL 14025154 0 2 fscsi1/hdisk24 OPEN NORMAL 13953336 3 3 fscsi1/hdisk35 OPEN NORMAL 14028354 4
Заресайзить файловую систему AIX
# df -g /oradata/q012band Filesystem GB blocks Free %Used Iused %Iused Mounted on /dev/q2regdblv01 10.00 0.04 100% 17 1% /oradata/q012band ^^^^^^^^^ # lsvg rootvg t2regdbvg t2regvg fnsvgdev2 orabindev2 dbdev2vg i2regvg i2regdbvg d2regvg d2regdbvg q2regvg q2regdbvg ^^^^^^^^^^^^^--- то что надо v2regvg v2regdbvg yregdbvg yregvg # lsvg -l q2regdbvg q2regdbvg: LV NAME TYPE LPs PPs PVs LV STATE MOUNT POINT q2regdblv01 jfs2 80 80 1 open/syncd /oradata/q012band ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^--- то что надо q2regdblv02 jfs2 80 80 1 open/syncd /oradata/q013bans q2regdblv03 jfs2 80 80 1 open/syncd /oradata/q014banr q2regdblv04 jfs2 16 16 1 open/syncd /oradata/tpac_q loglv14 jfs2log 1 1 1 open/syncd N/A q2regdblv05 jfs2 80 80 1 open/syncd /oradata/l012band q2regdblv06 jfs2 80 80 1 open/syncd /oradata/l013bans q2regdblv07 jfs2 96 96 1 open/syncd /oradata/l014banr q2regdblv08 jfs2 16 16 1 open/syncd /oradata/tpac_l # lsvg -p q2regdbvg q2regdbvg: PV_NAME PV STATE TOTAL PPs FREE PPs FREE DISTRIBUTION vpath10 active 559 30 00..00..00..00..30 ^^^^^--свободное место lsvg q2regdbvg VOLUME GROUP: q2regdbvg VG IDENTIFIER: 00c4819f00004c000000011a2f428166 VG STATE: active PP SIZE: 128 megabyte(s) VG PERMISSION: read/write TOTAL PPs: 559 (71552 megabytes) MAX LVs: 256 FREE PPs: 30 (3840 megabytes) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^--свободное место LVs: 9 USED PPs: 529 (67712 megabytes) OPEN LVs: 9 QUORUM: 2 (Enabled) TOTAL PVs: 1 VG DESCRIPTORS: 2 STALE PVs: 0 STALE PPs: 0 ACTIVE PVs: 1 AUTO ON: yes MAX PPs per VG: 32512 MAX PPs per PV: 1016 MAX PVs: 32 LTG size (Dynamic): 256 kilobyte(s) AUTO SYNC: no HOT SPARE: no BB POLICY: relocatable # chfs -a size=+3500M /oradata/q012band/
SOLARIS Посмотреть список патчей
showrev -p
Посмотреть ошибки железа в AIX
errpt -a| more
резайз тома LINUX
раздел должен быть отмонтирован
# lvextend -L+20G /dev/VG1/lvOracle # tune2fs -O ^has_journal /dev/mapper/VG1-lvOracle # resize2fs -p /dev/mapper/VG1-lvOracle # tune2fs -j /dev/mapper/VG1-lvOracle # lspv # vgs # lvdisplay # pvdisplay # lvdisplay VG1
еще ресайз
# fsck -n /dev/dm-3 # tune2fs -O ^has_journal /dev/dm-3 # e2fsck -f /dev/dm-3 # resize2fs -p /dev/dm-3 # tune2fs -j /dev/dm-3
AIX - статистика по системе
# nmon # topas
Linux - информация о нагрузке - процессор, память, контентсвитчинг
procinfo -D -n1 vmstat 1 vmstat -sa
Память
vmstat -sa free cat /proc/meminfo
Процессор
iostat -c 1 cat /proc/cpuinfo
FreeBSD: systat -vm 1
Linux - статистика по дискам
iostat -x 1 iostat -d 1 vmstat -p /dev/cciss/c0d0p1 1 vmstat -d 1
Некоторые команды солярис
Посмотреть архитектуру: sainfo -v
adb -k - Режим анализа ядра
аналог top: prstat
распределение памяти по процессу: pmap
System Configuration:
/usr/platform/`uname -i`/sbin/prtdiag
Дернуть сервис sol10
# svcadm disable cswapache2 # svcadm enable cswapache2
Установка с cdrom на спарк T5220
iLOM: Фабричные логин/пароль login: root passwd: changeme в iLOM ставим -> set /HOST/bootmode script="setenv auto-boot? false" -> start /SYS Are you sure you want to start /SYS (y/n)? y Starting /SYS -> start /SP/console Are you sure you want to start /SP/console (y/n)? y Serial console started. To stop, type #. в консоли говорим boot cdrom - nowin
iLOM T5220
Фабричные логин/пароль login: root passwd: changeme установить автозагрузку: set /HOST/bootmode script="setenv auto-boot? true" отключить автозагрузку set /HOST/bootmode script="setenv auto-boot? false" Сменить пароль set /SP/users/root password=passw0rd Установить DHCP set /SP/network pendingipdiscovery=dhcp set /SP/network commitpending=true
LINUX HP RAID CLI
/opt/compaq/hpacucli/bld/hpacucli
примеры команд:
# hpacucli controller all show status # hpacucli controller all show config # hpacucli controller all show detail # hpacucli controller all show detail config # hpacucli controller slot=0 array all show status # hpacucli controller slot=0 physicaldrive all show # hpacucli controller slot=0 physicaldrive all show status
Создать рейд 1+0 на следующих дисках
physicaldrive 1I:1:3 (port 1I:box 1:bay 3, SAS, 146 GB, OK) physicaldrive 1I:1:4 (port 1I:box 1:bay 4, SAS, 146 GB, OK) physicaldrive 2I:1:5 (port 2I:box 1:bay 5, SAS, 146 GB, OK) physicaldrive 2I:1:6 (port 2I:box 1:bay 6, SAS, 146 GB, OK) physicaldrive 2I:1:7 (port 2I:box 1:bay 7, SAS, 146 GB, OK) physicaldrive 2I:1:8 (port 2I:box 1:bay 8, SAS, 146 GB, OK)
# hpacucli ctrl slot=0 create type=ld drives=1I:1:3,1I:1:4,2I:1:5,2I:1:6,2I:1:7,2I:1:8 raid=1+0
SOLARIS После подключение нового диска
чтобы диск увиделся надо сказать
# drvconfig # disks also see: cfgadm, devfsadm let solaris know about your new disks - run # cfgadm -al; devfsadm -Cv Посмотреть луны(lun): # cfgadm -al -o show_SCSI_LUN
Перестроить метадевайсы после ребута
если съехали луны: metadevadm
SOLARIS Статистика сети
netstat -s netstat -g netstat -i netstat -m netstat -l
аналог tcpdump - snoop
snoop -d bge1 -r host 192.168.200.5 snoop -v -d bge1 -r host 192.168.200.5
Погасить оракл
# su -l oracle $ export ORACLE_SID=MYSID $ echo $ORACLE_SID $ sqlplus /"as sysdba" SQL> shutdown immediate
для oracle 8
# su - oracle $ export ORACLE_SID=MYSID $ echo $ORACLE_SID $ svrmgrl SVRMGR> connect internal SVRMGR> shutdown immediate
SOLARIS поправить штатный ftp - чтобы не подхватывал локаль ru_RU.UTF-8 и выдавал список файлов по ls
inetadm -m svc:/network/ftp:default inherit_env=FALSE
GPG commands
gpg --list-keys gpg --gen-key экспортировать ключи gpg --output mygpgkey_pub.txt --armor --export 45C68166 gpg --output mygpgkey_sec.txt --armor --export-secret-key aabp зашифровать/расшифровать gpg --recipient aabp --encrypt logins gpg --decrypt-files logins.gpg Импортировать ключи на другой машине gpg --import mygpgkey_pub.txt gpg --allow-secret-key-import --import mygpgkey_sec.txt
Linux. Блокировка IP-адреса при помощи null route
# ip route add blackhole xxx.xxx.xxx.xxx # ip route del blackhole xxx.xxx.xxx.xxx
LINUX. Узнать размер используемого дискового пространства, занимаемое файлами rpm/deb-пакета, с сортировкой по размеру
rpm -q -a --qf '%10{SIZE}\t%{NAME}\n' | sort -k1,1n dpkg-query -W -f='${Installed-Size;10}\t${Package}\n' | sort -k1,1n
rescan scsi(Linux)
http://www.debuntu.org/how-to-rescan-a-scsi-bus-without-rebooting
# echo "- - -" > /sys/class/scsi_host/host0/scan
AIX, посмотреть WWN-ы
# datapath query wwpn
AIX вместо fstab
В AIX вместо fstab /etc/filesystems
посмотреть файловые системы: lsfs
Solaris, статистика по памяти
$ mdb -k > ::memstat