J’ai découvert screen il n’y a pas longtemps, mais depuis, je m’en sers tous les jours. Vous me direz : ” Oui, c’est très bien tout ça, mais c’est quoi, screen ?”.

Screen est un terminal que l’on ouvre sur un serveur, et qui peut être détaché et ré-attaché à volonté. Cela permet donc de lancer un processus assez long, comme une compilation, de détacher le terminal, couper la connexion au serveur, éteindre l’ordinateur, rentrer chez soi. Le lendemain, lorsque l’on reviens, et que l’on se reconnecte sur le serveur, on retrouve son terminal dans l’état où on l’avais laissé la veille.

Pour installer screen, sous Ubuntu, il suffit de taper :

sudo apt-get install screen

ensuite, pour ouvrir ce terminal, il suffit de taper :

screen

après un écran d’accueil, on se retrouve avec un terminal. on peut ensuite faire ce que l’on veut dans ce terminal. puis lorsque l’on veut s’en détacher, il suffit de faire :

[Ctrl]+a d

on peut ensuite fermer son gnome-terminal (ou autre).

Lorsque l’on souhaite récupérer le terminal détaché, il suffit de taper :

screen -r

Lorsque l’on a plusieurs screen, le -r demande l’identifiant de celui qu’on veut ré-attacher. on peut avoir la liste des processus screen ouverts avec screen -ls

Lorsque l’on veut avoir plusieurs terminaux dans screen, il faut éditer le fichier ~/.screenrc et y mettre :

bindkey T title
hardstatus on
hardstatus string "%{.bW}%-w%{.rW}%f%n %t%{-}%+w %=%{..G}[%H %l] %{..Y} %m/%d %c"
hardstatus alwayslastline "%{=b}%{G} Screen(s): %{b}%w %=%{kG}%C%A  %D,%M/%d/%Y "

Dès lors, on obtient une barre en bas du terminal, permettant de naviguer entre les différents onglets.

Les commandes utiles sont :

[Ctrl]+a c              pour créer un nouvel onglet
T (et non t)          pour renommer un onglet
[Ctrl]+a [0..9]    pour mettre tel ou tel onglet au premier plan
[Ctrl]+a S              pour spliter le terminal à la vertical
[Ctrl]+a s              pour verrouiller le terminal
[Ctrl]+a [TAB]      pour se déplacer entre les zones splitées
[Ctrl]+a X              pour détruire une région splittée

On peut voir ci-dessous un screenshot d’un Screen splitté en 3 avec 3 commandes s’exécutant :

Voilà pour ce petit outil, qui peut s’avérer très utile lorsque l’on a des processus longs à lancer, ou que l’on veut garder ses terminaux toujours ouverts.

Mots clefs : , , ,

Afin de surveiller ou de debugger l’activité d’un système, Linux dispose d’un certain nombre d’outils en ligne de commande permettant d’analyser les différentes interfaces d’entrée/sortie de l’ordinateur, ainsi que l’activité du processeur.

Le réseau

Netstat

Netstat est installé par défaut sur le système.
C’est un peu comme un couteau suisse. Il permet d’afficher un certain nombre de valeurs utiles pour analyser son système. Je vais ici détailler un certain nombre de ses fonctionnalités.

  • netstat -r : affiche la table de routage

$ netstat -r
Table de routage IP du noyau
Destination     Passerelle      Genmask         Indic   MSS Fenêtre irtt Iface
192.168.0.0     *               255.255.255.0   U         0 0          0 eth0
link-local      *               255.255.0.0     U         0 0          0 eth0
default         intranet.matao. 0.0.0.0         UG        0 0          0 eth0

  • netstat – i : étudier les interfaces réseaux

$ netstat -i
Table d'interfaces noyau
Iface MTU Met RX-OK RX-ERR RX-DRP RX-OVR TX-OK TX-ERR TX-DRP TX-OVR Flg
eth0   1500 0  11760731      0      0      0  8853487      0      0      0 BMRU
irda0  2048 0         0      0      0      0   136234      0      0      0 ORU
lo    16436 0        24      0      0      0       24      0      0      0 LRU

Il est a noter que si vous voulez exécuter cette commande en boucle, il suffira de taper : $ watch -n 0 "netstat -i"

  • netstat -4epn : étudier les connexions réseaux et leur état

$ netstat -4epn
(Tous les processus ne peuvent être identifiés, les infos sur les processus
non possédés ne seront pas affichées, vous devez être root pour les voir toutes.)
Connexions Internet actives (sans serveurs)
Proto Recv-Q Send-Q Adresse locale          Adresse distante        Etat       Utilisatr  Inode      PID/Program name  
tcp        0      0 192.168.0.3:57858       209.85.136.210:5222     ESTABLISHED1000       82324      5730/pidgin        
tcp        0      0 192.168.0.3:52573       129.20.130.77:5222      ESTABLISHED1000       82302      5730/pidgin        
tcp        0      0 192.168.0.3:54030       192.168.0.10:1492       ESTABLISHED1000       243852     9261/ssh           
tcp        0      0 192.168.0.3:1011        192.168.0.2:2049        ESTABLISHED0          18905      -                  
tcp        0      0 192.168.0.3:37600       207.46.111.26:1863      ESTABLISHED1000       82370      5730/pidgin        
udp        0      0 192.168.0.3:32776       192.168.0.2:514         ESTABLISHED0          25878      -                  

En remplacant le 4 par un 6, on obtient la même chose pour les connexions IPV6.

  • netstat -tulp : étudier quel processus ouvre quel port sur la machine

$ sudo netstat -tulp
Connexions Internet actives (seulement serveurs)
Proto Recv-Q Send-Q Adresse locale          Adresse distante        Etat       PID/Program name  
tcp        0      0 *:35855                 *:*                     LISTEN     4081/rpc.statd     
tcp        0      0 *:sunrpc                *:*                     LISTEN     4063/portmap       
tcp        0      0 *:ipp                   *:*                     LISTEN     4861/cupsd         
tcp        0      0 *:50973                 *:*                     LISTEN     -                  
tcp6       0      0 *:ssh                   *:*                     LISTEN     4807/sshd          
tcp6       0      0 *:ipp                   *:*                     LISTEN     4861/cupsd         
udp        0      0 *:32768                 *:*                                4081/rpc.statd     
udp        0      0 *:32769                 *:*                                5204/avahi-daemon: 
udp        0      0 *:bootpc                *:*                                5443/dhclient      
udp        0      0 *:865                   *:*                                4081/rpc.statd     
udp        0      0 *:mdns                  *:*                                5204/avahi-daemon: 
udp        0      0 *:sunrpc                *:*                                4063/portmap       
udp        0      0 *:ipp                   *:*                                4861/cupsd         

  • netstat –unix -p : étudier quel sockets sont ouverts par quel processus

$ netstat --unix -p
(Tous les processus ne peuvent être identifiés, les infos sur les processus
non possédés ne seront pas affichées, vous devez être root pour les voir toutes.)
Sockets du domaine UNIX actives (sans serveurs)
Proto RefCpt Indicatrs   Type       Etat          I-Node PID/Program name    Chemin
unix  2      [ ]         DGRAM                    8304     -                   @/com/ubuntu/upstart
unix  2      [ ]         DGRAM                    8477     -                   @/org/kernel/udev/udevd
unix  2      [ ]         DGRAM                    15377    -                   @/org/freedesktop/hal/udev_event
unix  3      [ ]         STREAM     CONNECTE      241387   -                  
unix  3      [ ]         STREAM     CONNECTE      241386   9238/gnome-terminal
unix  3      [ ]         STREAM     CONNECTE      241367   9238/gnome-terminal /tmp/orbit-matao/linc-2416-0-c52717c558a1
unix  3      [ ]         STREAM     CONNECTE      241365   5718/bonobo-activat
unix  3      [ ]         STREAM     CONNECTE      241364   5718/bonobo-activat /tmp/orbit-matao/linc-1656-0-495dbdbdb1759
unix  3      [ ]         STREAM     CONNECTE      241363   9238/gnome-terminal
unix  3      [ ]         STREAM     CONNECTE      241362   9238/gnome-terminal /tmp/orbit-matao/linc-2416-0-c52717c558a1
unix  3      [ ]         STREAM     CONNECTE      241361   5691/gconfd-2      
unix  3      [ ]         STREAM     CONNECTE      241358   5691/gconfd-2       /tmp/orbit-matao/linc-163b-0-2a789197b028
unix  3      [ ]         STREAM     CONNECTE      241357   9238/gnome-terminal
unix  3      [ ]         STREAM     CONNECTE      241355   5649/x-session-mana /tmp/.ICE-unix/5649

ifstat

ifstat est un paquet, qui doit être installé par :

sudo aptitude install ifstat

Ifstat permet de surveiller l’activité réseau :

$ ifstat -WatTzb
  Time           eth0                 lo                Total      
HH:MM:SS   Kbps in  Kbps out   Kbps in  Kbps out   Kbps in  Kbps out
01:19:07      2.80      3.32      0.00      0.00      2.80      3.32
01:19:08      0.52      1.39      0.00      0.00      0.52      1.39
01:19:09      0.52      1.39      0.00      0.00      0.52      1.39
01:19:10      0.52      1.39      0.00      0.00      0.52      1.39
01:19:11      0.52      1.39      0.00      0.00      0.52      1.39

en ajoutant l’option S, soit ifstat -WatTzbS, on obtient le résultat sur une seule ligne, mais du coup, on perd l’historique des valeurs.

iftop

sudo apt-get install iftop

petit utilitaire à la top, permettant de voir la consommation en bande passante de chaque connexion réseau de votre ordinateur.

L’activité des disques

iostat

Pour installer iostat :

sudo apt-get install sysstat

iostat permet de surveiller l’activité des disques en temps réel. pour cela, tapez :

$ iostat -tmdx 1

Heure: 01:29:17
Device:    rrqm/s wrqm/s   r/s   w/s  rsec/s  wsec/s    rMB/s    wMB/s avgrq-sz avgqu-sz   await  svctm  %util
fd0          0,00   0,00  0,00  0,00    0,00    0,00     0,00     0,00     2,00     0,00   64,00  64,00   0,00
hda          0,01   2,20  0,24  0,60    9,36   22,35     0,00     0,01    38,16     0,08   98,13   8,99   0,75
hdb          0,08   3,92  0,68  0,42   34,48   34,75     0,02     0,02    62,74     0,02   15,65   6,73   0,74

Heure: 01:29:18
Device:    rrqm/s wrqm/s   r/s   w/s  rsec/s  wsec/s    rMB/s    wMB/s avgrq-sz avgqu-sz   await  svctm  %util
fd0          0,00   0,00  0,00  0,00    0,00    0,00     0,00     0,00     0,00     0,00    0,00   0,00   0,00
hda          0,00   0,00  0,00  0,00    0,00    0,00     0,00     0,00     0,00     0,00    0,00   0,00   0,00
hdb          0,00   0,00  1,00  0,00  256,00    0,00     0,12     0,00   256,00     0,04   40,00  40,00   4,00

Heure: 01:29:19
Device:    rrqm/s wrqm/s   r/s   w/s  rsec/s  wsec/s    rMB/s    wMB/s avgrq-sz avgqu-sz   await  svctm  %util
fd0          0,00   0,00  0,00  0,00    0,00    0,00     0,00     0,00     0,00     0,00    0,00   0,00   0,00
hda          0,00   0,99  0,00  2,97    0,00   31,68     0,00     0,02    10,67     0,05   16,00   8,00   2,38
hdb          0,00   0,99  1,98  1,98  506,93   23,76     0,25     0,01   134,00     0,10   24,00  24,00   9,50

Les processeurs

iostat

iostat permet également de surveiller l’activité du processeur :

$ iostat -tmcx 1

Heure: 01:31:33
avg-cpu:  %user   %nice %system %iowait  %steal   %idle
           2,26    0,02    0,86    0,67    0,00   96,20

Heure: 01:31:34
avg-cpu:  %user   %nice %system %iowait  %steal   %idle
           0,99    0,00    0,00    0,00    0,00   99,01

Heure: 01:31:35
avg-cpu:  %user   %nice %system %iowait  %steal   %idle
           0,00    0,00    0,00    0,00    0,00  100,00

htop

s’installe par : sudo apt-get install htop

htop ressemble à top, mais il a trois gros avantages :

  • Il est en couleur
  • Il est utilisable à la souris
  • Les commandes sont intuitives

mpstat

Permet de surveiller l’activité des différents processeurs ou coeurs, cette application est également disponible dans le paquet sysstat.

$ mpstat 1

01:35:33     CPU   %user   %nice    %sys %iowait    %irq   %soft  %steal   %idle    intr/s
01:35:34     all    0,00    0,00    1,00    0,00    0,00    0,00    0,00   99,00    430,00
01:35:35     all    0,00    0,00    0,00    0,00    0,00    0,00    0,00  100,00    412,87
01:35:36     all    0,00    0,00    0,00    0,00    0,00    0,00    0,00  100,00    272,00
01:35:37     all    0,00    0,00    0,00    0,00    0,00    0,00    0,00  100,00    269,31
01:35:38     all    0,00    0,00    0,00    0,00    0,00    0,00    0,00  100,00    276,00
01:35:39     all    0,00    0,00    0,00    1,98    0,00    0,00    0,00   98,02    340,59

Evidemment, cette commande s’avère surtout utile lorsqu’on a plusieurs processeurs ou coeurs.

Voilà pour ce petit inventaire, qui ne se veut pas exhaustif, mais qui donne quelques pistes pour mieux analyser son système en cas de problème.

Mots clefs : , , , ,

De plus en plus de gens hébergent leur blog ou autre site Web dynamique chez un fournisseur d’accès comme OVH, qui offre des bases de données MySQL et un espace relativement grand pour un prix assez petit.

Malheureusement, ces “forfaits” ne prennent pas toujours en compte la sauvegarde de vos données. Et lorsque ça n’est pas le cas, on peut toujours se dire : “-Oh, c’est pas n’importe qui quand même… c’est un fournisseur d’accès ! il sait ce qu’il fait ! il y a peu de risque qu’il perde mes données.”

L’histoire montre que même Google peut perdre des données utilisateurs, sans possibilité de les récupérer. C’est justement arrivé chez OVH il y a quelques mois.

Il est donc important de penser à sauvegarder vous-même vos données. Le but de cet article est d’expliquer comment mettre en place une sauvegarde automatisée d’un site et de sa base de données.

Lire la suite…

Mots clefs : , , , ,

Quand on a un parc important de machines à gérer, il peut devenir fastidieux de devoir à chaque fois ouvrir un nouveau terminal (ou un onglet), taper ssh -X mamachine.mondomaine.fr et de répéter l’opération 40 fois par jour. Même en mettant en place un alias ou un script qui permet de n’écrire que go mamachine, cela fait encore plein de caractères à taper.

Du coup, j’utilise un petit programme, SSHMenu, qui utilise gnome-terminal pour lancer du ssh.

Lire la suite…

Mots clefs : , ,

Comment ça marche Ubuntu

Juste un petit billet pour montrer un lien vers le site de comment ça marche, qui présente en vrac un certain nombre de petits articles sur Ubuntu, expliquant notamment comment avoir un démarrage plus rapide, désactiver IPV6, utiliser truecrypt… bref un tas de petites infos utiles a découvrir ou redécouvrir.

Mots clefs : , ,