Какие инструменты / утилиты вам следует обязательно знать, работая системным администратором Linux или Windows.
Я думаю например о GNU / экран которые вам понадобятся, если вы работаете на серверах Linux.
Как системному администратору Windows вам абсолютно необходимо знать SysInternals. И для программирования, и для диагностики того, что происходит с машиной, они неоценимы.
PuTTY: Отличный бесплатный SSH-клиент для Windows. Практически везде, где я работал, я использовал это для подключения к серверам Unix из Windows.
vi - Я знаю, что не всем это нравится, но в значительной степени он будет на любом сервере * nix, с которым вы столкнетесь, и когда все остальное сломается, вам нужно будет отредактировать файлы конфигурации. Я бы также предложил csh и sh по тем же причинам
Не забывайте, что системному администратору нужно заниматься физическими упражнениями со своими компьютерными ящиками!
Убедитесь, что у вас есть хотя бы один
Какой-то чувак тоже пишет о 10 лучших вещах он / она считает, что у каждого должен быть свой набор инструментов.
Создание сценариев.
Я узнал, что даже стандартная командная оболочка Windows может быть действительно полезной. Нет необходимости устанавливать PowerShell или cygwin, чтобы получить достойную функциональность сценариев, особенно когда сценарии предполагается развертывать на клиентских машинах.
Есть масса небольших инструментов unix / linux, которые полезны
grep, strace, GNU Screen, locate, rsync, sed, awk и tripwire тоже довольно интересны.
Список действительно можно продолжать и продолжать, я уверен, что забыл гораздо больше, чем список здесь. Кроме того, узнайте о том, как настроить эти инструменты так, как вы хотите, например о настройке файлов. * Rc. Это сделает их все более полезными. Например, вот мой файл .screenrc, поскольку вас интересует screen.
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.
пинг traceroute / tracert netstat nslookup
Инструменты сценария оболочки: 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
. Подобные уловки сэкономят вам много времени, и все это благодаря инструментам сценариев оболочки.
На любой платформе вы должны быть знакомы с родными и популярными инструментами резервного копирования. Ничто не беспокоит меня хуже сисадмин кто не знает, как сделать хорошую резервную копию. Хорошая резервная копия избавит вас практически от любой ошибки, которую вы можете совершить.
-ntbackup в Windows, dd / tar в Linux -команды дампа базы данных -tftp для резервного копирования коммутаторов / маршрутизаторов / устройств
Powershell! Powershell - это фантастическая командная оболочка для Windows, построенная на платформе .NET.
tail
- Доступно в большинстве систем Linux / Unix, позволяет просматривать последние строки файла (или конец файла). tail -f
позволяет просматривать новые строки, добавленные в файл, по мере их появления.
Для Windows мне нравится BareTail.
Возможно, это не тот ответ, который вы хотели, но я просто хотел поделиться некоторыми мыслями. В целом системное администрирование - это не только инструменты, но и используемые вами ментальные рамки. Короче говоря, если вы знаете, какие задачи хотите выполнить, то найти инструмент для этого довольно просто.
В основном есть несколько вопросов, которые системный администратор должен знать о системе:
Теперь личный выбор инструментов ... личный.
Кстати, ответ про vi отличный!
м
dmidecode - Отлично подходит для получения всевозможной информации о машине, на которой он работает
Strace - когда вы не можете понять, почему команда, которую вы вводите, не работает так, как вы хотели
найти - У этой маленькой команды больше возможностей, чем вы, вероятно, знаете. Прочтите страницу руководства и будьте просветлены
xargs - Очень и очень удобно, когда нужно разобраться со списками вещей
rsync - Знание rsync и его различных опций жизненно важно для безопасного и быстрого перемещения данных по вашей сети.
телнет - скромная команда telnet, вероятно, помогла мне диагностировать больше проблем с сетевым подключением за годы, чем любая другая команда
Nmap - кроме, возможно, Nmap
NC - netcat отлично подходит для быстрой настройки серверов, чтобы видеть, что клиенты пытаются делать, или даже для "telnet" с использованием udp. Прочтите руководства, чтобы узнать, насколько это мощно
s_client openssl Telnet через безопасное соединение с серверами https для диагностики странностей.
Я уверен, что в конце концов я вспомню еще тонну. Следите за обновлениями ;-)
Для системного администратора Windows:
Cygwin. Иногда вам просто нужно сделать быстрый текстовый файл grep
, wc
, awk
, или что-то такое, что написать скрипт займет слишком много времени. Быстрое сканирование веб-журнала с помощью grep
и awk
действительно может спасти положение.
Хороший редактор. Неважно, какой, я здесь не для того, чтобы начинать войну пламенем. Но вам нужно научиться хорошо редактор.
Я использую Emacs практически для всего. Vi (m) - еще один хороший вариант. Не уверен, что будет лучше в Windows, но я предполагаю, что варианты Win32 из двух, о которых я упомянул, были бы хороши.
Некоторые инструменты не являются обязательными, но облегчают повседневную жизнь:
moreutils
пакет (deb)Что касается Windows, давайте не будем забывать о NET и NETSH, без них вы потерялись бы в сети.
Я обычно использую несколько:
пс: чтобы увидеть запущенные в данный момент процессы
Туалет: количество слов. Отображает новые строки, слова, байты.
grep: найти выкройку. Совпадение или отсутствие совпадения (обратное совпадение)
> для перенаправления вывода в новый файл или >> для добавления в конец файла.
| объединять команды вместе. Вывод первой команды, используемой для следующей.
тройник: записывает полученные данные в файл, а также отображает текст на экране.
наиболее распространенная цепочка, которую я использую:
пс топор | grep mysql
Интересно, что никто не упомянул VNC.
Я становлюсь большим поклонником DTrace, хотя на данный момент он недоступен для Windows.
Монитор процесса особенно для устранения неполадок Проблемы с разрешением.
В unix dmesg. Он собирает все диагностические сообщения системы и красиво отображает их на экране.
И да, syslogd «устарел», но я до сих пор не понял, как настроить syslogd для отображения вещей так же хорошо, как это делает dmesg.
Для меня это должен быть SSH и Putty: он позволяет сэкономить столько времени на беготню и поездки, что это неправда, и здесь не нужно возиться с графическими настройками или ждать обновления экрана :-)