GNU/Linux >> Tutoriels Linux >  >> Linux

Commandes Linux fréquemment utilisées par les administrateurs système Linux - Partie 3

La semaine dernière et la semaine d'avant, j'ai publié la partie 1 et la partie 2 de cette série en cinq parties intitulée :Commandes Linux fréquemment utilisées par les administrateurs système Linux . Ces deux articles nous ont amenés un peu plus loin dans ce que je pense être environ 50 à 100 commandes souvent utilisées par les administrateurs système Linux et les utilisateurs expérimentés. Consultez également les parties 4 et 5.

Passons à la partie 3 avec un autre ensemble de commandes et d'outils de ligne de commande souvent utilisés pour le transfert de fichiers, la manipulation de fichiers, le dépannage du réseau et d'autres tâches administratives effectuées par les systèmes Linux. Dans cette série et les futures, je regrouperai autant que possible les commandes associées et j'ajouterai également une table des matières pour relier les cinq parties de cette série.

1. rsync – transferts et synchronisation de fichiers à distance.

Rsync (synchronisation à distance) est un outil open source pour la synchronisation de fichiers entre les systèmes locaux et distants. En 2016, j'ai été chargé de mettre en place un miroir mondial basé sur CDN pour les distributions Linux et autres référentiels : Evowise CDN (https://mirros.evowise.com). Ce projet s'appuie fortement sur rsync pour s'assurer que des centaines de téraoctets de fichiers sont toujours synchronisés. Au fil du temps, de plus en plus de distributions ont proposé leurs propres miroirs mondiaux soutenus par CDN; cependant, il n'y a encore qu'une poignée de miroirs multi-distributions et multi-logiciels. Voici un exemple d'utilisation de rsync commande pour sauvegarder des fichiers à distance :

rsync -avze ssh /path/to/directory1/ user@IP_or_hostname:/remote/backup/directory1/

Pour télécharger depuis le répertoire distant, inversez l'ordre de la commande :

rsync -avze ssh user@IP_or_hostname:/remote/backup/directory1/ /path/to/directory1/

Rsync est un sujet à part entière. En tant que tel, revoyons cette commande plus en détail à une date ultérieure. En attendant, le meilleur endroit pour commencer serait de lire la documentation et les aide-mémoire.

2. tar , gzip , b2zip , et zip manipulation de fichiers.

tar (archive sur bande) est un utilitaire d'archivage.

Pour extraire d'une archive, utilisez :(avec les options x =extrait, v =verbeux, f =fichier):

tar - xvf archive.tar

Pour créer une archive à partir de fichiers ou d'un répertoire, utilisez :(avec l'option c =créer)

tar -cvf archive.tar file1 file2 file3

Pour créer des archives compressées, utilisez :(avec l'option z à compresser avec gzip)

tar -cvzf archive.tar file1 file2 file3

Pour afficher tous les fichiers contenus dans une archive, utilisez (avec l'option t =liste):

tar -tvf archive.tar

gzip signifie GNU zip. Il est utilisé pour la compression et la décompression de fichiers.

Pour créer un fichier compressé, utilisez :

gzip file1

Pour décompresser un fichier, utilisez :

gunzip file1.gz

En tant qu'archive créée à l'aide de  tar ne sera pas compressé sans options supplémentaires ; cela peut être fait en utilisant gzip .

Pour combiner des fichiers dans une archive compressée, utilisez (avec l'option z =gzip):

tar -cvzf archive.tar.gz file1 file2

Ce qui donnera archive.tar.gz

Pour décompresser et extraire des fichiers d'une archive gzip, utilisez :

tar -xvzf archive.tar.gz

bzip2 est similaire à gzip. Il utilise simplement un algorithme de compression différent.

Pour créer un fichier compressé, utilisez :

bzip2 file1

Pour décompresser un fichier, utilisez :

bunzip2 file1.bz2

Pour combiner des fichiers dans une archive compressée, utilisez (avec l'option j =bzip2):

tar -cvjf archive.tar.bz2 file1 file2

Ce qui donnera archive.tar.bz2

Pour décompresser et extraire les fichiers d'une archive bzip2, utilisez :

tar -xvjf archive.tar.bz2

zip est utilisé pour empaqueter et compresser (pour archiver) des fichiers.

Pour combiner des fichiers individuels dans une archive compressée, utilisez :

zip archive.zip file1 file2

Pour combiner des répertoires entiers dans une archive compressée :

zip -r archive.zip directory1 directory2 directory3

Pour décompresser et extraire des fichiers ou des répertoires d'une archive zip, utilisez :

unzip archive.zip

Pour afficher tous les fichiers stockés dans une archive, utilisez :

unzip -l archive.zip

3. locate – rechercher des fichiers sous Linux.

Dans la partie 1, nous avons abordé l'utilisation de find et grep . Locate utilise un processus d'arrière-plan qui s'exécute périodiquement pour rechercher et stocker les fichiers de votre système dans sa propre base de données. C'est là son seul avantage… la rapidité !

Sur certaines distributions, Ubuntu par exemple, vous devez installer manuellement :

sudo apt-get install locate

Pour rechercher un fichier, utilisez (avec l'option i =ignorer la casse) :

locate -i filename

Par exemple :

hydn@ubuntu:~$ sudo locate -i firewall
/etc/fail2ban/action.d/firewallcmd-allports.conf
/etc/fail2ban/action.d/firewallcmd-common.conf
/etc/fail2ban/action.d/firewallcmd-ipset.conf
/etc/fail2ban/action.d/firewallcmd-multiport.conf
...

La base de données sera mise à jour quotidiennement via cron. Cependant, si vous devez le mettre à jour manuellement, vous pouvez utiliser :

sudo updatedb

4. ps – des informations sur les processus en cours d'exécution.

Dans la partie 1, nous avons examiné pstree , une alternative plus visuelle à la commande ps. Une façon d'utiliser ps pour obtenir plus d'informations sur les processus en cours d'exécution, utilisez ce qui suit :

ps aux | less

Le a listera tous les processus des utilisateurs à l'exception des chefs de groupe et des processus qui ne sont pas associés à un terminal.

Le u L'option fournit des informations détaillées sur chaque processus.

Le x l'option listera tous les processus lorsqu'elle est utilisée avec le a option.

Pour afficher une arborescence de processus :

ps axjf | less

Pour afficher des informations sur les fils de discussion, utilisez :

ps -eLf | less
ps axms | less

Pour afficher tous les processus exécutés en tant que root au format utilisateur, utilisez :

ps -U root -u root u

Pour afficher uniquement les ID de processus de syslogd, utilisez :

ps -C syslogd -o pid=

Pour afficher uniquement le nom du PID 411, utilisez :

ps -q 411 -o comm=

Les exemples ci-dessus proviennent de man ps .

5. Utiliser des scripts Bash.

Un script Bash est un fichier en texte brut contenant une série de commandes. Ce sont des commandes que nous tapons habituellement dans la ligne de commande (par exemple, rsync ... ou cp ... ), mais nous aimerions gagner du temps en n'ayant pas à taper des commandes manuellement à chaque fois, ou nous aimerions programmer ces commandes pour qu'elles s'exécutent plus tard, en utilisant cron.

Pour créer un script bash, placez #!/bin/bash en haut du fichier. Voici un script bash simple pour exécuter des sauvegardes :

#!/bin/bash
rsync -avze ssh /path/to/directory1/ user@IP_or_hostname:/remote/backup/directory1/
echo "Remote backup for $(date) " | mail -s "backup complete" user@youremail

Une fois que vous avez tapé ou collé ceci dans un nouveau fichier, vous pouvez l'enregistrer sous le nom de script.sh. Dans ce cas, remotebackup.sh. Ensuite, modifiez les permissions du fichier pour le rendre exécutable :

chmod +x remotebackup.sh

Pour exécuter/lancer le script depuis le répertoire courant, vous tapez :

./remotebackup.sh

Vous pouvez également planifier l'exécution du script Bash à l'aide de maïs, comme indiqué dans la section suivante.

Consultez également le BashScripting pour débutants d'Ubuntu.

6. cron – Configurez les tâches planifiées à exécuter.

Le cron daemon est un outil Linux intégré qui exécute périodiquement des tâches planifiées (commandes ou scripts shell) à des heures, des dates ou des intervalles fixes. Les administrateurs système utilisent généralement cron pour automatiser les tâches de maintenance et d'administration du système. Par exemple, en utilisant cron pour exécuter rsync tous les soirs.

Voici un exemple de cron entrée sur une seule ligne utilisée pour exécuter un script de sauvegarde tous les soirs à 2 h :

0 2 * * * ~/myscripts/remotebackup.sh

Pour commencer, lisez le cron guides d'installation créés par Ubuntu et Red Hat et référencer la page de manuel cron. Il existe également des générateurs d'expressions cron en ligne.

7. nmcli – gestion du réseau.

NetworkManager est un ensemble d'outils pour gérer la connectivité réseau sur votre système Linux. Il fonctionne pour les connexions filaires, sans fil et même Bluetooth.

Pour afficher tous les périphériques réseau disponibles, utilisez :

nmcli d

Par exemple :

Red Hat a publié un excellent guide de mise en réseau pour nmcli .

8. ping – envoyer ICMP ECHO_REQUEST aux hôtes du réseau.

Le ping (Packet Internet Groper) est utilisée pour vérifier la connectivité réseau entre les serveurs et les autres hôtes. Vous pouvez entrer l'adresse IP ou l'URL, et la commande ping envoie alors un paquet de données à l'adresse spécifiée avec le message « PING » et attend une réponse du serveur/hôte de destination. Le temps nécessaire pour recevoir ce package de réponse est signalé. Ce temps s'appelle la latence. Faible latence =réponse de connexion plus rapide.

ping [hostname/ip]

Par exemple :

Utilisez le -c flag pour spécifier le nombre de paquets ping à envoyer. Par exemple :

ping -c 5 IP_ADDRESS

9. traceroute – vérifier la route empruntée par les paquets vers un hôte spécifié.

traceroute vérifie la route empruntée par les paquets pour atteindre un hôte spécifié. Il utilise le champ de durée de vie (TTL) du protocole IP et tente d'obtenir une réponse ICMP TIME_EXCEEDED de chaque passerelle le long du chemin vers l'hôte. (Source :man traceroute) Traceroute peut aider à trouver la source des retards de latence du réseau, des pannes et d'autres problèmes de routage du réseau.

Jetez également un œil à mtr (Mon Traceroute).

10. nslookup – interroger les serveurs de noms Internet (NS) de manière interactive.

nslookup (Name Server Lookup) est une commande utilisée pour collecter des informations à partir des systèmes de noms de domaine (DNS). Avec nslookup , les administrateurs système peuvent demander des informations sur le nom de domaine ou l'adresse IP.

Pour rechercher l'enregistrement A d'un domaine, utilisez :

nslookup haydenjames.io

Pour rechercher les enregistrements NS d'un domaine afin de découvrir ses serveurs faisant autorité, utilisez :

nslookup -type=ns ubuntu.com

Pour rechercher les enregistrements MX d'un domaine, utilisez :

nslookup -query=mx redhat.com

Pour rechercher le SOA (début d'autorité) d'un domaine, utilisez :

nslookup -query=soa debian.com

Pour afficher la liste des enregistrements DNS d'un domaine, utilisez :

nslookup -type=any mysql.com

Pour rechercher le rDNS (DNS inversé) d'un domaine, utilisez :

nslookup [domain_IP]

Voir aussi, le host et dig commandes.

Astuce supplémentaire : Consultez explainshell.com pour faire correspondre les arguments de ligne de commande avec leur texte d'aide.

C'est tout pour le moment. J'espère que vous avez apprécié la partie 3. Veuillez partager, vous abonner, mettre en signet et laisser tout commentaire ou suggestion que vous pourriez avoir.

Suivant – Commandes Linux fréquemment utilisées par les administrateurs système Linux – Partie 4 >


Linux
  1. 16 commandes Tar pour compresser et extraire des fichiers sous Linux

  2. 40 commandes Linux de base utilisées fréquemment

  3. Comment archiver des fichiers et des répertoires sous Linux [Partie 1]

  4. Commande Linux tar

  5. 25 exemples de règles Linux IPTables les plus fréquemment utilisés

40 commandes réseau Linux utiles pour les administrateurs système modernes

90 commandes Linux fréquemment utilisées par les administrateurs système Linux

Commandes Linux fréquemment utilisées par les administrateurs système Linux - Partie 5

Commandes Linux fréquemment utilisées par les administrateurs système Linux - Partie 4

Commandes Linux fréquemment utilisées par les administrateurs système Linux - Partie 2

Commandes Linux fréquemment utilisées par les administrateurs système Linux - Partie 1