Após administrar servidores Unix ou Unix-like, quais ferramentas (preferencialmente na linha de comando) você sente que não pode viver sem?
fonte
Após administrar servidores Unix ou Unix-like, quais ferramentas (preferencialmente na linha de comando) você sente que não pode viver sem?
Alguns sei que não posso viver sem ...
tee - permite gravação simultânea em STDOUT (saída padrão) e um arquivo. Ótimo para visualizar informações e registrá-las para mais tarde.
top - o gerenciador de tarefas do UNIX, oferece uma ótima visão geral do sistema.
tail -f - permite visualizar dados anexados à medida que um arquivo cresce, ótimo para monitorar arquivos de log em um servidor.
grep - Impressão de expressão regular global, excelente para pesquisar dados no sistema no sistema.
df - relata o uso do disco dos sistemas de arquivos atuais.
du - relata o uso do disco de um determinado arquivo / diretório.
menos necessário para visualizar as páginas de manual! também é útil para visualizar a saída de comandos de uma maneira facilmente procurável.
vim / Emacs / nano / pico / ed - qualquer que seja o seu editor de texto preferido, explique por que é necessário.
more
ouless
, pode sempre tentarmost
.htop
é uma versão "melhor" dotop
.lsof para determinar quais processos estão usando um arquivo ou diretório (útil ao tentar descobrir o que está impedindo que um dispositivo seja desmontado)
netstat para determinar quais processos estão usando conexões de rede (especialmente útil ao tentar descobrir qual daemon está vinculado a uma determinada porta)
fonte
Aprenda todas as ferramentas básicas, mas aprenda Perl.
O Perl é ideal para manipular texto, e como os operadores un * x vivem em arquivos de texto, pipes, entrada e saída, o Perl é um ótimo ajuste.
O bônus adicional é que o Perl é multiplataforma e, se você precisar fazer algum trabalho em uma caixa do Windows, terá uma linguagem facilmente instalável (basta soltar um diretório Perl no servidor) que você já conhece.
E nessa linha de pensamento, pegue Cygwin também. Se você é um administrador un * x e precisa trabalhar em uma caixa do Windows (até mesmo na sua área de trabalho) com ls, rm, grep, sed, tail etc, economiza muito tempo ao trocar de SO.
fonte
Os avós esquecidos do script de sistemas modernos. Eu sei que o Perl adquire a maior parte do amor (junto com os scripts Bash, Python, Ruby e [insira sua linguagem de script favorita aqui]), e não me interpretem mal, eu amo o Perl. Faço uso quase diariamente.
Mas sed e awk não devem ser esquecidos, esquecidos ou ignorados. Em muitos casos, sed e awk são as melhores ferramentas para o trabalho. Exemplos rápidos são a filtragem de linha de comando com sed e o processamento rápido e sujo de logs com awk. Ambos podem ser feitos em Perl, mas exigirão mais tempo de trabalho e desenvolvimento.
fonte
rsync, especialmente em conjunto com o ssh. Ele permite a cópia eficiente e simples de arquivos de um host para outro. Como lidamos com o ssh e o rsync? :-)
fonte
Netcat.
A rede canivete suíço, como eles dizem.
fonte
Encare isso - mais cedo ou mais tarde você também lidará com a rede. mtr , tcpdump e tshark são realmente úteis para ver o que está acontecendo.
fonte
Para scripts rápidos, automação, etc:
Para se conectar ao seu servidor * NIX:
fonte
Eu uso a maioria das ferramentas já listadas, mas aqui ninguém tocou ainda:
fonte
Para scripts:
fonte
A maioria dos padrões está incluída em outras respostas, então eu vou para os não-padrão:
fonte
Algumas ferramentas úteis que ainda não vi mencionadas:
fonte
expect
ClusterSSH
fonte
vmstat 1
Oferece uma ótima visão geral do comportamento do sistema.
fonte
pv: exibe o progresso de operações longas que podem ser redirecionadas. http://www.ivarch.com/programs/pv.shtml
Útil, então, você deseja monitorar algo que vai levar muito tempo, como copiar / compactar um dispositivo de bloco bruto pela rede (que é como eu tiro backups de paranóia do meu netbook de 8Gb antes de mexer em algo importante, como ajustar as configurações do sistema de arquivos).
Além disso: vou votar em segundo lugar para ssh, rsync, screen, htop e netcat, como mencionado pelas pessoas acima - todos os quais são mais importantes que pv, mas pv ainda não foram mencionados. De fato, o pv é frequentemente uma adição útil ao canalizar coisas de ou para o netcat.
fonte
pv
pode ser uma ferramenta útil, mas cuidado com o uso excessivo. Passar os dados por ele absolutamente tem um impacto no desempenho (todos os dados precisam passar por outro programa). No meu último trabalho, fizemos muito processamento de log. Um dos caras decidiu começar a colocar o pv em todos os scripts de processamento de log, até descobrirmos que isso adicionava cerca de 15% ao tempo de processamento para eles. Agora, ele é usado apenas para tarefas que levam menos de alguns minutos ou que possuem uma limitação de recursos existente (como atravessar uma conexão de rede lenta).pv
é no limite de E / S de disco ou de rede, em vez de limite de CPU / memória). O mesmo argumento é a chave contra o uso excessivocat
também (às vezes eu uso o gato quando na verdade não é necessário apenas para fazer com que as coisas sejam lidas da esquerda para a direita, mas os dados extra na memória que copiam através do pipe e da alternância de contexto podem ter um impacto mensurável no desempenho).cat
uso excessivo vem do começocat foo
, seguido pela seta "para cima" e, em seguida, adiciono| [command]
à minha linha anterior. Eu sei que estou sofrendo um (pequeno) desempenho mantendo o gato lá, mas deixá-lo exige menos esforço do que reescrever / redigitar o comando[command] < foo
. Não é uma preocupação para (a maioria) o trabalho de linha de comando ad hoc, mas não é ideal para scripts (pv
acho que é o mesmo que eu acho).ssh, Vim, htop, su, Python, sl, cd, tela, du, alcatrão :)
fonte
sudo
.Sério, porém,
tail -f
é útil.fonte
tail -f
, você vai adorarmultitail
Alguns que não foram mencionados antes:
fonte
tubo de alcatrão!
canalizar a saída do tar para outro utilitário, tar na mesma caixa ou tar sobre SSH é o meu movimento favorito do Unix da velha escola para mover arquivos de um lugar para outro.
Isso também oferece a opção no estilo do Windows de copiar uma pasta para outra e terminar com todos os arquivos no diretório de origem e destino.
fonte
zsh como uma concha
É especialmente eficiente com as extensões / configuração do grml.org .
fonte
iotop, é um programa top-like para monitorar acessos de E / S aos seus discos.
fonte
A maioria dessas ferramentas é muito mais poderosa usando o Bash "conclusão programável" - para que você possa concluir a tabulação, como opções de linha de comando, ou dizer o nome de um pacote com "apt-get install". Ele também limitará o que você preenche com guias em arquivos relevantes - por exemplo, "descompactar" apenas conclui os arquivos compactados.
São realmente as vira-latas - se você nunca experimentou, provavelmente precisará mexer no seu .bashrc:
Certamente isso é verdade no Ubuntu e Debian. Pode ser necessário obter o pacote em algumas distribuições Linux.
fonte
Algumas respostas adicionais podem ser encontradas nesta pergunta semelhante
fonte
Algumas coisas esquecidas eu queria mencionar.
Ah, e eu esqueci de mencionar, ao criar scripts, acredito que você sempre deve usar o Korn. Eu odeio Korn (não a banda. Eu amo a banda :-P), mas está literalmente em todo lugar. Você pode pegar um script e movê-lo entre Solaris, AIX e Linux e não precisa se preocupar se o administrador teve ou não a decência de instalar o Bash.
fonte
Uma ferramenta às vezes muito útil é o nohup. Eu o uso para executar scripts que duram muito tempo usando clientes SSH remotos.
fonte
man - para ler as páginas do manual.
elinks - para verificar o google, porque com certeza não consigo me lembrar de tudo.
E atenção aos detalhes e tenacidade, porque sem eles eu apenas perco tempo.
fonte
A tela é uma obrigação, especialmente com um bom arquivo .screenrc. Eu o configurei para exibir visualmente em qual janela estou e posso mover-se entre eles com Ctrl + Seta. Para uma única sessão ssh e várias conchas, é um salva-vidas.
fonte
fonte
Eu amo AWK e também "for" na linha de comando.
Especialmente para criar uma lista de comandos que quero executar e executá-los todos de uma vez.
fonte