Après avoir administré des serveurs Unix ou de type Unix, de quels outils (de préférence en ligne de commande) croyez-vous que vous ne pouvez pas vous passer?
la source
Après avoir administré des serveurs Unix ou de type Unix, de quels outils (de préférence en ligne de commande) croyez-vous que vous ne pouvez pas vous passer?
Certains je sais que je ne peux pas vivre sans ...
tee - permet l'écriture simultanée sur STDOUT (sortie standard) et sur un fichier. Idéal pour afficher des informations et les enregistrer pour plus tard.
top - le gestionnaire de tâches d'UNIX donne un bon aperçu du système.
tail -f - vous permet d'afficher les données ajoutées au fur et à mesure que le fichier grandit, ce qui est idéal pour surveiller les fichiers journaux sur un serveur.
grep - Global Regular Expression Print, idéal pour rechercher des données dans des fichiers dans le système.
df - rapporte l'utilisation du disque des systèmes de fichiers actuels.
du - rapporte l'utilisation du disque d'un certain fichier / répertoire.
moins - nécessaire pour afficher les pages de manuel! également utile pour visualiser la sortie des commandes de manière facilement consultable.
vim / Emacs / nano / pico / ed - quel que soit l'éditeur de texte de votre choix, vous lui expliquez pourquoi vous en avez besoin.
more
ouless
, vous pouvez toujours essayermost
.htop
est une "meilleure" version detop
.lsof pour déterminer quels processus utilisent un fichier ou un répertoire (utile pour essayer de comprendre ce qui empêche un périphérique d'être démonté)
netstat pour déterminer quels processus utilisent des connexions réseau (particulièrement utile pour essayer de déterminer quel démon est lié à un certain port)
la source
Apprenez tous les outils de base, mais apprenez Perl.
Perl est idéal pour manipuler du texte, et comme un * x opérateurs vivent sur des fichiers texte, des tuyaux, des entrées et des sorties, Perl convient parfaitement.
Le bonus supplémentaire est que Perl est multiplateforme et si vous devez travailler sur une fenêtre Windows, vous avez une langue facile à installer (il suffit de déposer un répertoire Perl sur le serveur) que vous connaissez déjà.
Et dans cet ordre d'idées, prenez Cygwin également. Si vous êtes un * x admin et devez travailler sur une fenêtre (même sur votre bureau) avec ls, rm, grep, sed, tail, etc., vous gagnerez beaucoup de temps lors du changement de système d'exploitation.
la source
Les grands-pères oubliés des scripts de systèmes modernes. Je sais que Perl reçoit le plus d’amour (avec les scripts Bash, Python, Ruby et [insérez votre langage de script favori ici]), et ne vous méprenez pas, j’adore Perl. Je m'en sers presque quotidiennement.
Mais sed et awk ne doivent pas être oubliés, négligés ou ignorés. Dans de nombreux cas, sed et awk sont les meilleurs outils pour ce travail. Les exemples rapides sont le filtrage de ligne de commande avec sed, et le traitement de journal rapide et sale avec awk. Les deux pourraient être réalisés en Perl, mais nécessiteront plus de temps de travail et de développement.
la source
rsync, en particulier de concert avec ssh. Il permet une copie simple et efficace des fichiers d’un hôte à l’autre. Comment avons-nous pu faire face sans SSH et RSYNC? :-)
la source
Netcat.
Le réseau couteau suisse, comme on dit.
la source
Adoptez-le - tôt ou tard, vous vous occuperez également du réseau. mtr , tcpdump et tshark sont vraiment utiles pour voir ce qui se passe.
la source
Pour les scripts rapides, l'automatisation, etc.:
Pour vous connecter à votre serveur * NIX:
la source
J'utilise la plupart des outils déjà listés, mais en voici un que personne n'a encore abordé:
la source
Pour le script:
la source
La plupart des réponses standard sont incluses dans d'autres réponses, je vais donc passer aux réponses non standard:
la source
Quelques outils pratiques que je n'ai pas encore vus ont mentionné:
la source
expect
ClusterSSH
la source
vmstat 1
Vous donne un bon aperçu du comportement du système.
la source
pv: Affiche la progression des opérations longues pouvant être redirigées. http://www.ivarch.com/programs/pv.shtml
Il est donc utile de surveiller quelque chose qui va prendre du temps, comme copier / compresser un périphérique de bloc brut sur le réseau (c’est ainsi que je réalise des sauvegardes paranoïaques de mon netbook 8 Go avant de bricoler avec un élément important, comme modifier les paramètres du système de fichiers).
Aussi: j'appuie les votes pour ssh, rsync, screen, htop et netcat comme mentionné par les personnes ci-dessus - qui sont tous plus importants que pv mais pv n'a pas encore été mentionné. En fait, pv est souvent un ajout utile lorsqu’il s’agit de transférer des données vers ou depuis netcat.
la source
pv
peut être un outil pratique, mais attention à ne pas en abuser. La transmission des données a absolument un impact sur les performances (toutes les données doivent passer par un autre programme). Lors de mon dernier emploi, nous avons beaucoup traité les journaux. Un des gars a décidé de commencer à mettre pv dans tous les scripts de traitement des journaux, jusqu'à ce que nous découvrions qu'il leur fallait environ 15% de temps de traitement supplémentaire. Désormais, il n'est utilisé que pour les travaux qui prennent moins de quelques minutes ou pour lesquels les ressources sont limitées (par exemple, le franchissement d'une connexion réseau lente).pv
pour le disque ou les entrées / sorties réseau liées plutôt que celles liées au processeur / à la mémoire). Le même argument est le plus important contre l'utilisation excessive decat
trop (j'utilise parfois cat quand ce n'est pas vraiment nécessaire pour que les choses se lisent bien de gauche à droite, mais la copie supplémentaire de données en mémoire via le tube et le changement de contexte peuvent avoir impact mesurable sur les performances).cat
utilisation excessive vient de commencer aveccat foo
, suivie de frapper la flèche "haut" puis d'ajouter| [command]
à ma ligne précédente. Je sais que je subis une (petite) performance en gardant le chat à l'intérieur, mais le laisser exiger moins d'effort que de réécrire / retaper la commande pour être[command] < foo
. Pas une préoccupation pour (la plupart) des travaux en ligne de commande ad hoc, mais pas idéal pour les scripts (identique à ce que je ressenspv
, je suppose).ssh, vim, htop, su, python, ls, cd, écran, du, goudron :)
la source
sudo
.Sérieusement,
tail -f
c'est utile.la source
tail -f
, vous allez adorermultitail
Certains qui n'ont pas été mentionnés auparavant:
la source
tuyau de goudron!
rediriger la sortie de tar vers un autre utilitaire, pour qu'il s'exécute sur la même boîte ou sur SSH, c'est mon déménagement Unix à l'ancienne préféré pour le déplacement de fichiers d'un emplacement à un autre.
Cela vous donne également l’option Windows de copier un dossier dans un autre et d’obtenir tous les fichiers du répertoire source et de destination.
la source
zsh comme une coquille
C'est particulièrement efficace avec les extensions / setup de grml.org .
la source
iotop, est un programme de type top pour surveiller les accès d'E / S à vos disques.
la source
La plupart de ces outils sont beaucoup plus puissants grâce à "l'achèvement programmable" de Bash - vous pouvez donc compléter des options telles que les options de ligne de commande ou dire le nom d'un paquet avec "apt-get install". Cela limitera également ce que vous complétez la tabulation pour les fichiers pertinents - par exemple, "décompresser" ne complétera que les fichiers d'archives pris en charge.
Ce sont vraiment les mutts - si vous ne l’avez jamais essayée, vous devez probablement juste jouer avec votre .bashrc:
Cela est certainement vrai sur Ubuntu et Debian. Vous devrez peut-être obtenir le paquet sur certaines distributions Linux.
la source
Quelques réponses supplémentaires peuvent être trouvées dans cette question similaire
la source
Je voulais mentionner quelques points négligés.
Oh, et j'ai oublié de mentionner, lors de la rédaction du script, je pense que vous devriez toujours utiliser Korn. Je déteste Korn (pas le groupe. J'aime le groupe :-P) mais c'est littéralement partout. Vous pouvez prendre un script et le déplacer entre Solaris, AIX et Linux sans avoir à vous soucier de savoir si l'administrateur a eu la décence d'installer Bash.
la source
Nohup est un outil parfois très utile. Je l'utilise pour exécuter des scripts qui durent longtemps à l'aide de clients SSH distants.
la source
man - pour lire les pages de manuel.
elinks - pour vérifier google, parce que je ne peux absolument pas me souvenir de tout.
Et attention aux détails et à la ténacité, car sans eux, je perdais simplement du temps.
la source
l'écran est un must, surtout avec un bon fichier .screenrc. Je l'ai configuré pour afficher visuellement la fenêtre dans laquelle je suis et je peux me déplacer entre elles avec Ctrl + Flèche. Pour une seule session SSH et plusieurs coques, c'est un épargnant de vie.
la source
la source
J'aime AWK ainsi que "pour" sur la ligne de commande.
Surtout pour construire une liste de commandes que je veux exécuter et ensuite les exécuter toutes en même temps.
la source