LinuxまたはWindowsのシステム管理者として作業しているときに絶対に知っておくべきツール/ユーティリティは何ですか。
たとえば、Linuxサーバーで作業している場合に必要になる GNU/screen について考えています。
vi-誰もがそれを気に入っているわけではありませんが、遭遇する* nixサーバー上で動作します。他のすべてが壊れている場合は、構成ファイルを編集する必要があります。同じ理由でcshとshもお勧めします
Windowsシステム管理者として、あなたは絶対に SysInternals に精通している必要があります。プログラミングとマシンで何が起こっているのかを診断するために、これらは非常に貴重です。
PuTTY :Windows用の優れた無料のSSHクライアント。私が働いてきたほとんどすべての場所で、これを使用してWindowsからUnixサーバーに接続しています。
Sysdaminがコンピュータボックスを物理的に使用する必要があることを忘れないでください。
少なくとも1つは持っていることを確認する必要があります
いくつかの男も トップ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
リモートの* nixマシンを管理しているWindowsユーザーのPuTTYの完璧なコンパニオンは WinSCP です。これは、完璧で小さなシンプルで本当に使いやすいFTP、SCP、SFTPクライアントです。
パワーシェル! Powershellは、.NETフレームワーク上に構築されたWindows用の素晴らしいコマンドシェルです。
シェルスクリプトツール: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
の3つのサーバーのログをgrepできます。このようなトリックを使用すると、多くの時間を節約できます。それはすべて、シェルスクリプトツールが原因です。
どのプラットフォームでも、ネイティブで人気のあるバックアップツールに精通している必要があります。 a sysadminは、適切なバックアップを作成する方法を知らないので、問題はありません。良いバックアップは、あなたがするかもしれないほとんどすべての間違いからあなたを救います。
-Windowsではntbackup、Linuxではdd/tar-データベースダンプコマンド-バックアップスイッチ/ルーター/デバイスへのtftp
ping traceroute/tracert netstat nslookup
tail
-ほとんどのLinux/Unixシステムで使用でき、ファイルの最後の行(または末尾)を表示できます。 tail -f
を使用すると、ファイルに追加された新しい行を表示されたとおりに表示できます。
Windowsでは BareTail が好きです。
これはおそらくあなたが望んだ答えではありませんが、私はいくつかの考えを共有したかっただけです。一般に、システム管理はツールだけでなく、使用するメンタルフレームワークについても重要です。簡単に言うと、実行するタスクがわかっている場合、それを実行するためのツールを見つけるのは非常に簡単です。
基本的に、sysadminがシステムについて知っておく必要がある質問はほとんどありません。
現在、ツールの個人的な選択は個人的なものです。
ところで、viについての答えは素晴らしいです!
メートル
Windowsシステム管理者の場合:
Cygwin 。場合によっては、クイックテキストファイルgrep
、wc
、awk
、またはスクリプトとして書くのに時間がかかりすぎるものを実行する必要があるだけです。 grep
およびawk
を使用したクイックWebログスキャンは、1日を本当に節約できます。
dmidecode-実行中のマシンに関するあらゆる種類の情報を取得するのに最適
strace-発行しているコマンドが意図したとおりに機能しない理由を理解できない場合
find-この小さなコマンドには、おそらくあなたが知っているよりも多くのオプションがあります。 manページを読んで啓蒙される
xargs-モノのリストを処理する必要がある場合に非常に便利
rsync-ネットワーク上でデータを安全かつ迅速に移動するには、rsyncとそのさまざまなオプションを知ることが不可欠です
telnet-謙虚なtelnetコマンドはおそらく、他のどのコマンドよりも長い年月をかけて、より多くのネットワーク接続の問題を診断するのに役立ちました
nmap-nmapを除いて
nc-netcatは、クライアントが何をしようとしているのかを確認するためのクイックサーバーのセットアップ、またはudpを使用した "telnet"にも最適です。チュートリアルを読んで、実際にどれほど強力かを確認してください
opensslのs_client httpsサーバーへの安全な接続を介してTelnetで異常を診断します。
やがて、もっとたくさん覚えられると思います。アップデートを確認してください;-)
優れたエディター。どちらでもかまいませんが、私は炎の戦争を始めるためにここにいません。しかし、あなたはgoodエディターを学ぶ必要があります。
私はEmacsをほぼすべてに使用しています。 Vi(m)は別の良いものです。 Windowsで何が最適かはわかりませんが、私が言及した2のWin32バリアントが良いと思います。
私はDTraceの大ファンになりつつありますが、現時点ではWindowsでは利用できません。
一部のツールは必須ではありませんが、日常生活を容易にします。
moreutils
パッケージ(deb)[〜#〜] vnc [〜#〜] については誰も言及していないのではないでしょうか。
私が通常使用するいくつか:
ps:現在実行中のプロセスを確認します
wc:単語数。新しい行、単語、バイトを表示します。
grep:パターンを検索します。一致または一致なし(逆一致)
>出力を新しいファイルにリダイレクトする場合、または>>をファイルの最後に追加する場合。
コマンドをチェーン化します。次のコマンドで使用される最初のコマンドの出力。
tee:受け取った入力をファイルに書き込み、テキストを画面に表示します。
私が使用する最も一般的なチェーン:
ps ax | grep mysql
Windowsの場合、NETとNETSHを忘れないでください。これらがないと、ネットワークに夢中になります。
私にとっては、SSHとPuTTYである必要があります。これにより、多くの作業が不要になり、出張が不正確になり、グラフィカルな設定を変更したり、画面の更新を待つ必要がなくなります:-)
UNIXでは、dmesg。すべてのシステム診断メッセージを収集し、画面に適切に表示します。
そしてええ、それはsyslogdによって「時代遅れ」になりましたが、私はまだsyslogd設定を取得してdmesgと同じようにうまく表示する方法を理解していません。