Какие инструменты вы должны знать как системный администратор Windows/Linux?

Что такое инструменты / утилиты, которые вы должны абсолютно знать, работая в качестве системного администратора Linux или Windows.

Я думаю, например, о GNU/screen, который вам понадобится, если вы работаете на серверах Linux.

26 ответов

Решение

vi - Я знаю, что не всем это нравится, но в значительной степени это будет на любом *nix-сервере, с которым вы сталкиваетесь, и когда все остальное сломано, вам нужно будет отредактировать конфигурационные файлы. Я бы также предложил csh и sh по тем же причинам

Как системный администратор Windows, вам абсолютно необходимо быть знакомым с SysInternals. И для программирования, и для диагностики того, что происходит с машиной, это бесценно.

PuTTY: отличный бесплатный SSH-клиент для Windows. Почти везде, где я работал, это использовалось для подключения к серверам Unix из Windows.

альтернативный текст

Не забывайте, что сисдамин нуждается в физическом использовании своих компьютерных коробок!

Вы должны убедиться, что у вас есть хотя бы один

  1. Philips отвертка
  2. Стандартная (плоская) отвертка
  3. Пинцет (подобрать те винты, которые упали в какое-то темное скрытое место на вашем мото)
  4. Запасной кабель SATA
  5. Запасной сетевой кабель RJ45 (и перекрестный кабель)
  6. Сжатый воздух -> избавиться от всей этой пыли.

Некоторые чувак также пишет о 10 лучших вещах, которые, по его мнению, должен иметь каждый в своем наборе инструментов.

Сценарии.

Я узнал, что даже стандартная командная оболочка Windows может быть действительно полезной. Нет необходимости устанавливать PowerShell или cygwin, чтобы получить достойную функциональность сценариев, особенно когда сценарии предполагается развертывать на клиентских компьютерах.

Существует множество небольших инструментов Unix/ Linux, которые полезны

grep, strace, GNU Screen, locate, rsync, sed, awk и tripwire тоже довольно интересны.

Список действительно можно продолжать и продолжать, я уверен, что забыл гораздо больше, чем список здесь. Кроме того, узнайте, как настроить эти инструменты так, как вы хотите, например, настроить файлы.* Rc. Это сделает их всех намного более полезными. Например, вот мой файл.screenrc, так как вас интересует экран.

1 startup_message off
2 hardstatus alwayslastline
3 hardstatus string '%{= kG}[ %{G}%H %{g}][%= %{=kw}%?%-Lw%?%{r}(%{W}%n*%f%t%?(%u)%?%{r})%{w}%?%+Lw%?%?%= %{g}][%{B}%Y-%m-%d %{W}%c %{g}]'
4 
5 # Window numbering starts at 1, not 0.
6 bind c screen 1 
7 bind 0 select 10
8 
9 # Default screens
10 screen -t shell1        1
11 screen -t shell2        2
12 screen -t shell3        3

Инструменты Windows:
Недавно, отладив многоадресную проблему, я обнаружил, что NMap невероятно полезен для отладки сетевого трафика. Wireshark также помог.

Идеальным компаньоном для пользователей PuTTY для Windows, управляющих удаленными *nix машинами для меня, является WinSCP, идеальный, небольшой простой и действительно удобный клиент FTP, SCP и SFTP.

Powershell! Powershell - это фантастическая командная оболочка для Windows, построенная на платформе.NET.

Инструменты сценариев оболочки: bash/sh, awk, grep, head, tail, less, cat, sort, uniq, wc (и другие)

Awk позволяет легко анализировать файлы журналов или другие файлы, что очень важно, когда вам нужно диагностировать проблему. Некоторые люди используют perl за это. Вам не нужно знать все об одном инструменте, но вы должны что-то знать, чтобы вы могли проверить этот журнал доступа или журнал http и выяснить, происходит ли что-то необычное.

Объедините awk с sort, uniq, tail, grep и wc, чтобы сделать вашу жизнь проще.

Смешайте в некоторых сценариях оболочки. Это супер удобно, чтобы иметь возможность делать такие вещи, как

for i in server1.example.com server2.example.com server3.example.com ; do
  xterm -e "ssh ${i} tail -f /var/log/message | grep something ";
done;

это позволяет вам просматривать журналы на трех серверах для something, Подобные трюки сэкономят вам много времени, и все это благодаря инструментам сценариев оболочки.

Пинг traceroute / tracert netstat nslookup

На любой платформе вы должны быть знакомы с родными и популярными инструментами резервного копирования. Ничто так не мешает, как системный администратор, который не знает, как сделать хорошую резервную копию. Хорошая резервная копия избавит вас от почти любой ошибки, которую вы можете совершить.

-ntbackup в windows, dd/tar в Linux -dump команды базы данных -tftp для резервного копирования коммутаторов / маршрутизаторов / устройств

tail - Доступно в большинстве систем Linux/Unix позволяет просматривать последние строки файла (или хвостовую часть). tail -f позволяет просматривать новые строки, добавленные в файл, по мере их появления.

Для Windows мне нравится BareTail.

Возможно, это не тот ответ, который вы хотели, но я просто хотел поделиться некоторыми мыслями. В целом, системное администрирование касается не только инструментов, но и ментальных рамок, которые вы используете. Короче говоря - если вы знаете, какие задачи вы хотите сделать, то найти инструмент для этого довольно просто.

В основном, есть несколько вопросов, которые системный администратор должен знать о системе:

  1. Что у меня есть? (Оборудование, инструменты инвентаризации программного обеспечения, такие как rpm, apt, lshw)
  2. Как я поживаю? (процессор, память, использование диска, инструменты использования приложений, такие как top, vmstat, sar)
  3. Как я буду делать в будущем? (инструменты мониторинга, такие как nagios, zabbix)
  4. Насколько я хочу быть в безопасности? (средства брандмауэра, средства защиты серверов, такие как iptables, snort, системы ids, модули безопасности для приложений)
  5. Что я хочу, чтобы мой сервер (ы) делал? (инструменты для управления приложениями, например postfix, qmail, apache, java, php и т. д.).
  6. Как сделать мою жизнь проще? (инструменты для создания версий файлов конфигурации, развертывания конфигурации на нескольких серверах, автоматической установки)

Теперь личный выбор инструментов... личный.

Кстати, ответ о vi великолепен!

м

Хороший редактор. Неважно, какой из них, я, конечно, не здесь, чтобы начать войну пламени. Но вам нужно выучить хорошего редактора.

Я использую Emacs практически для всего. Vi (м) является еще одним хорошим. Не уверен насчет того, что будет лучше в Windows, но я предполагаю, что варианты Win32 из 2, которые я упомянул, будут хорошими.

Для Windows системный администратор:

Cygwin. Иногда вам просто нужно сделать быстрый текстовый файл grep, wc, awkили что-то, что заняло бы слишком много времени для написания сценария. Быстрое сканирование веб-журнала с grep а также awk действительно может спасти день.

dmidecode - отлично подходит для получения всевозможной информации о машине, на которой он работает

strace - когда вы не можете понять, почему команда, которую вы вводите, не работает так, как вы хотели

find - У этой маленькой команды больше параметров, чем вы, вероятно, знаете. Прочитайте справочную страницу и будьте просветленными

xargs - очень, очень удобно, когда вам нужно иметь дело со списками вещей

rsync - знание rsync и его различных опций жизненно важно для безопасного и быстрого перемещения данных по вашей сети

telnet - команда скромного telnet, вероятно, помогла мне в диагностике большего количества проблем с сетевым подключением, хотя за годы, чем любая другая команда

Nmap - кроме, может быть, Nmap

nc - netcat отлично подходит для настройки быстрых серверов, чтобы увидеть, что пытаются сделать клиенты, или даже для "telnet", использующего udp. Прочитайте учебные пособия, чтобы увидеть, насколько это действительно мощно

OpenSSL s_client Telnet через безопасное соединение с серверами https для диагностики странностей.

Я уверен, что есть еще много, что я запомню в конце концов. Следите за обновлениями;-)

Несколько я обычно использую:

ps: чтобы увидеть запущенные процессы
wc: количество слов. Отображает новые строки, слова, байты.
grep: найди шаблон. Совпадение или отсутствие совпадения (обратное совпадение)
> для перенаправления вывода в новый файл или >> для добавления в конец файла.
| связывать команды вместе. Вывод первой команды, использованной для следующей.
tee: записывает полученные данные в файл, а также отображает текст на экране.

Наиболее распространенная цепь, которую я использую:
пс топор | grep mysql

Интересно, что никто не упомянул VNC.

Некоторые инструменты не являются обязательными, но облегчают повседневную жизнь:

  • ccze смотреть логи в цвете
  • moreutils пакет (деб)
  • cfcat смотреть конфигурационные файлы без комментариев
  • wget и как перенаправить его вывод

Я становлюсь большим поклонником DTrace, хотя на данный момент он недоступен для Windows.

Для Windows давайте не будем забывать NET и NETSH, вы потерялись бы в сетях без них.

На Unix, Dmesg. Он собирает все диагностические сообщения системы и красиво отображает их на экране.

И да, он был "устаревшим" syslogd, но я до сих пор не понял, как заставить установку syslogd отображать вещи так же хорошо, как dmesg.

Это должны быть SSH и Putty для меня: это экономит много труда и путешествий, это не соответствует действительности, и нет никаких проблем с графическими настройками или ожиданием обновления экрана:-)

Другие вопросы по тегам