Logo Khaganat

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentesRévision précédente
Prochaine révision
Révision précédente
fr:bestpractices [2018/03/28 07:54] – [nc / netcat] merlin8282fr:bestpractices [2021/12/03 18:19] (Version actuelle) – modification externe 127.0.0.1
Ligne 27: Ligne 27:
 ==== Largeur ==== ==== Largeur ====
  
-Pour des raisons historiques, la convention veut que les lignes d'un script ne dépassent pas les 88 caractères.+Pour des raisons historiques (largeur des terminaux de l'époque), la convention veut que les lignes d'un script ne dépassent pas les 88 caractères.
 Si toutefois vous deviez écrire des lignes plus longues que ça, vous pouvez les étaler sur plusieurs lignes en mettant ''\ '' (barre oblique inversée + espace) avant chaque retour à la ligne. Si toutefois vous deviez écrire des lignes plus longues que ça, vous pouvez les étaler sur plusieurs lignes en mettant ''\ '' (barre oblique inversée + espace) avant chaque retour à la ligne.
  
 +Il y a aussi une autre raison à cela : les lignes trop longues sont moins lisibles, l'œil devant faire plus d'efforts pour retrouver la ligne suivante.
 ==== Indentation ==== ==== Indentation ====
  
Ligne 94: Ligne 95:
  
  
- 
- 
-===== Commandes unix ===== 
-==== sar : System Activity Reporter ==== 
-  sar -A 
- 
-C'est une sorte de monitoring de la machine locale. 
- 
-==== ethtool ==== 
-  ethtool -p eth0 # same as "ethtool --identify eth0" 
-  ethtool -t eth0 # selftest 
-  ethtool -S eth0 # same as "ethtool --statistics eth0" 
- 
-''ethtool'' permet d'avoir des infos sur le matériel réseau, mais aussi d'identifier une interface physique en en faisant clignoter les LEDs (option ''-p''). 
- 
- 
-==== nc / netcat ==== 
-''netcat'' permet à la base d'établir une connexion TCP, un peu comme le permet la commande ''telnet'', à la différence que netcat procède uniquement à la connexion TCP, tandis que telnet tente d'établir une connexion au service de comande à distance éponyme (il y a toute la communication du protocole telnet en plus). 
- 
-''netcat'' permet aussi par exemple de transférer des fichiers d'un système à un autre : 
- 
-  $ nc -l 10.1.1.149 1234 > filename.out # à exécuter côté serveur 
-  $ nc 10.1.1.149 1234 < filename.in # à exécuter côté client 
- 
-On peut aussi scanner des ports avec netcat, pour voir si un port est ouvert ou fermé : 
- 
-  $ nc -zv 10.1.1.149 20-30 
-  $ nc -zv 10.1.1.149 22 80 443 
- 
-La première commande scanne les ports 20 à 30, la seconde scanne les ports 22, 80 et 443 de l'adresse IP 10.1.1.149. 
-===== Options peu utilisées/connues ===== 
-==== find ==== 
-Pour supprimer des fichiers de manière automatisée on pourrait être tenté d'exécuter ce genre de commande : 
- 
-  rm -rf `find /var/tmp/ -type d -name .svn` 
- 
-Cette commande cherche tous les dossiers nommés ''.svn'' dans /var/tmp/ de manière récursive, puis passe le résultat à la commande ''rm -rf''. Le problème qui peut se poser est si dans cette liste de dossiers, l'un d'eux contient une espace dans son chemin, la commande va échouer et donc ce dossier ne sera pas supprimé. 
- 
-Pour bien faire les choses, autant dire directement à la commande ''find'' de supprimer les dossiers trouvés, via l'option ''-exec'' : 
- 
-  find /var/tmp/ -type d -name .svn -exec rm -rf {} \; 
-==== grep / wc ==== 
-On voit très très souvent des oneliners qui, pour compter le nombre de lignes font ceci : 
- 
-  [commande] | wc -l 
- 
-Jusque là aucun souci. En revanche, quand on veut filtrer, très souvent on utilise ''grep'' : 
- 
-  [commande] | grep "machin" | wc -l 
- 
-Là, ça commence à piquer les yeux. OK, vous allez dire que je suis un vieux de la vieille qui voit le mal partout, qui cherche à économiser le moindre octet en mémoire, qu'on n'est plus à une époque où la mémoire était chère et rare... Qu'à cela ne tienne ! Plus c'est court, plus c'est élégant, mieux c'est ! 
- 
-Ça commence à piquer les yeux parce-que grep sait très bien compter tout seul ! 
- 
-  [commande] | grep -c "machin" 
- 
-Et voilà ! L'option ''-c'' de ''grep'' retourne le nombre de lignes où ''machin'' a été trouvé. 
- 
- 
- 
-===== Sysadmin en général ===== 
-==== Reboot ==== 
-Quoi que l'on fasse comme modification sur un système, il faut toujours veiller à ce qu'après un redémarrage la machine se retrouve dans un état identique à celui dans lequel elle était avant ce redémarrage. 
- 
-Par exemple, quand on ajoute une route sur la CLI, bien veiller à ce que la route soit aussi configurée "en dur". Dans le cas de Debian, on peut mettre la commande dans par exemple ''/etc/network/interfaces'' en ajoutant ''up ''  devant la commande qu'on a exécuté. 
- 
-  CLI : 
-  route add -host ftp.fr.debian.org gw 192.168.100.253 
- 
-  /etc/network/interfaces : 
-  iface eth0 inet static 
-      address [...] 
-  up route add -host ftp.fr.debian.org gw 192.168.100.253 
-  down route del -host ftp.fr.debian.org gw 192.168.100.253 
- 
-Attention à la seconde ligne avec ''down'', ce n'est pas ''route add'' mais ''route del'', pour supprimer la route lors de l'extinction ou du redémarrage. 
- 
-Cela n'est qu'un exemple. À chaque modification il faut se poser la question : "Est-ce que ma modification est «reboot-proof» ?" 
  
  
 {{tag>Tag_a_ajouter}} {{tag>Tag_a_ajouter}}
CC Attribution-Share Alike 4.0 International Driven by DokuWiki
fr/bestpractices.1522223646.txt.gz · Dernière modification : (modification externe)

Licences Mentions légales Accueil du site Contact Inclusion