17/11/2024

CLI

BashCommandes et Système

Trier des fichiers selon une date avec FIND

I. Présentation Dans ce tutoriel, nous allons apprendre à tirer et à agir sur des fichiers et des dossiers selon une date. Cela pourra être leur date de création, de modification ou de dernier accès. Nous pourrons effectuer plusieurs actions sur ces données une fois que nous saurons les trier. II. Les options FIND Pour ce faire, nous allons nous aider de la commande « find » qui sert à lister et trier des fichiers selon certaines options. Nous pouvons en effet avec FIND définir le nom ou une partie du nom de ce que nous cherchons ( option « -name < > »), définir sur combien de niveau (arborescence) on souhaite chercher ( option « -maxdepth < > »), depuis où, etc … Par exemple si nous souhaitons chercher toutes les archives faites dans le dossier « /var/log » qui sont plus âgées que 5 jours : find /var/log/ -maxdepth 3 -name « *gz* » -ctime +5 Explication : « /var/log » : indique le répertoire ou nous allons chercher. Nous

Lire cet article
Base de données

Conception d’un modèle physique des données

I. Présentation Le modèle physique des données (MPD) d’une base de données permet d’avoir une représentation graphique de la structure d’une base de données et ainsi de mieux comprendre les relations entre les différents tables. Il permet d’avoir un point de vue global sur l’ensemble de la base de données. Nous utiliserons la base de données suivantes pour créer notre MPD : T_Batiments(Bat_Num,Bat_Nom); T_Fabricants(F_Num,F_Nom); T_Switchs(Sw_Num,#Sw_NumFabr,#Sw_NumBat,Sw_Modele,Sw_NbPortsMb,Sw_NbPortsGb); Cette base de données a pour but de répertorier les switchs des fabricants pour ensuite les implémenter dans différents bâtiments. II. Comment créer un MPD  ? Dans un MPD, on crée les tables dont on met le nom dans l’en-tête, ensuite à l’intérieur de ces tables on répertorie l’ensemble des champs qu’elles contiennent. Dans un second temps, il faut souligner les champs qui sont des clés primaires et mettre un “#” devant les champs qui sont des clés étrangères. Pour les clés étrangères ce n’est pas tout, il faut montrer, à l’aide d’une flèche vers

Lire cet article
Base de données

Ajouter des valeurs dans une table

I. Présentation Nous allons voir dans ce tutoriel comment ajouter des valeurs dans une table grâce à des requêtes écrites dans un script SQL.Comme pour les tutoriels précédents la base de données présentée dans ce MPD est utilisée.  Voici pour rappel le MPD de cette base de données : II. Quel est la requête utilisée pour ajouter des valeurs dans une table ? La requête utilisée pour ajouter des valeurs dans une table est la requête INSERT INTO dont la structure est la suivante : INSERT INTO nom_table ( champ1 , champ2 ) VALUES (‘valeur1’,’valeur2’), (‘valeur3’,’valeur4’);  “Valeur1” et “Valeur3” correspondent à la valeur du “champ1”.  Chaque ligne représente un enregistrement différent.  Chaque ligne d’enregistrement doit se terminer par une virgule sauf pour la dernière qui doit se terminer par un point-virgule.  Si vous indiquez 2 champs dans le “INSERT INTO” vous devez obligatoirement ajouter une valeur pour ces 2 champs à chaque enregistrement.  Il doit y avoir une virgule entre

Lire cet article
Base de données

Faire des requêtes SQL dans une base de données

I. Présentation Dans ce tutoriel nous allons voir comment effectuer des requêtes SQL dans une base de données pour obtenir des informations sur ce que contiennent les tables qui la compose. Nous commencerons par des requêtes très simples pour ensuite les complexifier. Les requêtes seront effectuées dans la base de données utilisée pour l’ensemble des tutoriels SQL, c’est à dire celle-ci : lien. Vous trouverez le tutoriel pour créer le script SQL de cette BDD en cliquant sur ce lien, et le tutoriel pour ajouter des valeurs à cette base de données à cette adresse : lien Pour rappel, voici le MPD de cette base de données : Pour exécuter les requêtes accédez à PhpMyAdmin puis à gauche dans l’arborescence cliquez sur la base de données (dans notre cas « implementation_switchs ») et ensuite dans le menu cliquez sur « SQL ». II. Qu’elle est la structure de base d’une requête SQL ? SELECT champ1 , champ2 FROM table1 WHERE champ1 = 0  

Lire cet article
Base de données

Voir les droits utilisateur dans MySQL en ligne de commande 

I. Présentation Dans ce tutoriel, nous allons voir comment afficher les droits et permissions d’un utilisateur MySQL en ligne de commande. Le plus souvent, on utilise PhpMyAdmin pour gérer les droits utilisateurs mais il est aussi facile et rapide de le faire en ligne de commande (CLI) Nous allons ici utiliser la commande « show grants » qui sert à afficher les droits d’un utilisateur sur les bases d’un serveur. Il est important de savoir que pour utiliser cette commande, le minimum des droits requis est celui de faire un « select » sur la base de données « mysql » du serveur MySQL. II. Voir les utilisateurs disponibles Nous allons, dans un premier temps, regarder quels sont les utilisateurs présents sur notre serveur après s’être connecté en « root » en ligne de commande : select user,host from mysql.user; Nous aurons alors la liste des utilisateurs ainsi que les hôtes depuis lesquels ils peuvent se connecter. III. Voir nos bases de données Nous allons maintenant chercher à

Lire cet article
Commandes et Système

Récupérer des informations sur son système Linux avec UNAME

I. Présentation Dans ce tutoriel, nous allons apprendre à récupérer des informations sur notre système avec la commande uname. Ces informations peuvent être le nom d’hôte, le processeur de notre machine, la version du noyau.. II. Utilisation uname est une commande POSIX (présente sur tous les systèmes UNIX) qui permet de récupérer ce genres d’informations. On utilise rarement la commande uname seule mais plutôt avec l’option « -a » ou « -all » qui affiche l’ensemble des informations systèmes importantes : L’option « -a » permet de regrouper l’ensemble des autres options disponibles sur la commande « uname ». Dans l’ordre, ces commandes sont les suivantes : « -s » ou « –kernel-name » : C’est le nom du noyau, Ici « Linux ». « -n » ou « –nodename » : C’est le nom d’hôte de votre machine, ici « srvlinux1 ». « -r » ou « –kernel-release » : C’est la version actuelle du noyau , ici « 2.6.32-5-686 » soit squeeze en 32 bits. « -v » ou « –kernel-version » : C’est la date à laquelle a été compilé le noyau (date de mise à jours

Lire cet article
BashCommandes et Système

Les variables spéciales shell sous Linux

I. Présentation Dans ce tutoriel, nous allons nous attarder sur les variables spéciales shell. Ces variables servent dans la plupart du temps dans les scripts bash car ils permettent de récupérer des informations sur les arguments passés ou sur l’exécution en cours. On utilisera ces variables spéciales dans nos scripts, la plupart du temps par un affichage avec « echo » ou pour le traitement des données et paramètres d’un script. Les variables spéciales se compose toujours de deux caractères, le premier est « $ » est le deuxième varie en fonction de la variable et du résultat voulu par exemple « $* » ou « $1 ». Pour tous le tutoriel, on considérera qu’on à un script « script.sh » contenant la trame suivante : #!/bin/bash echo « Arg = < variable spéciale > » ; Nous passerons ainsi divers paramètres pour tester leurs fonctionnements. On exécutera ce script via la commande suivante : bash script.sh Il nous faudra bien sur avant le passer en exécutable : chmod +x script.sh  

Lire cet article
Services

Wipe : Supprimer définitivement un dossier sous Ubuntu

I. Présentation Récemment, nous avons vu Shred qui permettait de supprimer définitivement un fichier sous Ubuntu, en le déchiquetant. Toutefois, ce dernier ne permettait pas la suppression de dossiers ou d’arborescences, c’est pourquoi dans ce tutoriel nous allons voir « Wipe » qui le permet. Il faut manipuler Wipe avec précaution parce que si vous supprimer définitivement une arborescence en faisant une erreur de manipulation, cela peut être catastrophique pour votre machine. II. Installation Contrairement à Shred, Wipe n’est pas intégré à la distribution Ubuntu, vous devez donc l’installer. Comme ceci : apt-get update apt-get install wipe   III. Utilisation Une fois l’installation terminée, nous allons pouvoir commencer à utiliser Wipe. Avant de commencer, créer une arborescence de test contenant des fichiers. Dans mon cas, j’ai créé un répertoire nommé « MesFactures » dans lequel sont stockées des factures « ma_facture_1.txt », « ma_facture_2.txt », etc… arbo wipe MesFactures/ Si vous utilisez la commande indiquée ci-dessus, Wipe vous retournera un

Lire cet article
Base de donnéesBash

Script – Sauvegarde des bases de données sous Linux

I.  Présentation Afin d’assurer une tolérance aux pannes et une sauvegarde des informations importantes, une sauvegarde des bases de données Mysql peut être faite avec un script. Il est en effet intéressant de pouvoir automatiser la sauvegarde des bases de données d’un serveur, car elles contiennent souvent des informations importantes et vitales dans une entreprise. Ce backup sera effectué par un utilisateur « backup » qui sauvegardera régulièrement et automatiquement l’ensemble des bases de données du serveur. II. Création de l’utilisateur de backup Il faut tout d’abord créer un utilisateur qui aura uniquement les droits de lecture sur l’ensemble des bases de données. Les opérations seront lancées à partir d’un script, il serait donc dangereux de les lancer avec un utilisateur ayant des droits de modification, de création ou de suppression sur les bases de données.On se connecte au serveur de base de données : mysql -u root -p On crée l’utilisateur ‘backup’@’localhost’. Il est important de préciser que backup

Lire cet article
Bash

Vérifier la présence d’un répertoire ou d’un fichier

I. Présentation Dans ce tutoriel, nous allons voir comment vérifier la présence d’un dossier ou d’un fichier dans notre OS Linux. Nous allons voir comment mettre une condition en action selon le résultat de notre vérification. Lors de la construction d’un script, il peut être intéressant de ne créer une fichier ou un dossier uniquement si il n’est pas présent par exemple. C’est ce que ce tutoriel va nous apprendre à faire. II. Vérifier la présence d’un dossier Dans une condition construite dans un fichier bash, il est possible de vérifier par une option si un dossier existe : #!/bin/bash if [ -d « /home/neaj/dossier1 » ];then echo « Le dossier1 existe ! »; fi On créer donc notre condition « if « . Le « -d » est l’option qui indique que nous voulons voir si le dossier précisé juste derrière existe. Le « d » est pour « directory ». Si c’est le cas, on écrira « Le dosser1 existe ! ». Enfin on fermera notre condition avec « fi ». On peut imaginer

Lire cet article
BashCommandes et Système

L’enchaînement des commandes sous Linux

I. Présentation Sous Linux, quand nous travaillons en ligne de commande, il est souvent bien pratique d’avoir la possibilité d’exécuter plusieurs commandes en une seule ligne. Par exemple si l’on souhaite télécharger, décompresser et ouvrir une archive, on exécutera une seule ligne de commande comme suivant: wget http://archive.tar.gz/ ; tar zxvf -C /opt/ archive.tar.gz ; cd /opt/archive/ Au lieu d’exécuter plusieurs de ces commandes séparément et avec une commande par ligne. Il est néanmoins important dans l’exécution de ces commandes que chacune réussissent pour que la prochaine soit utilisable et utile. II. les caractères d’enchainement Il existe sous Linux trois caractères qui permettent l’enchainement des commandes, il s’agit de « ; », « || » et « &&. Chacun de ces trois caractères ont un type d’exécution différents au niveau de l’enchainement des commandes. III. Le point virgule Un enchainement de commande avec un point virgule comme c’est le cas dans l’exemple enchaînera les commandes sans se soucier de la réussite ou de l’échec de

Lire cet article
Batch

Partager un répertoire et attribuer des permissions avec Net Share

I. Présentation Windows inclut la commande « net share » qui permet notamment de partager un dossier déjà existant, de le paramétrer et d’attribuer des permissions pour vos utilisateurs sur ce partage. Remarque : Les permissions attribuées par cette commande s’appliquent au partage mais pas au niveau des permissions NTFS, que vous devez gérer manuellement. II. Objectif du script  Créer le répertoire « ressources » à la racine de la partition « C: ».  Partager ce répertoire avec le nom « ressources » en limitant l’accès simultané à 10 utilisateurs, en ajoutant « Ressources Neoflow.fr » en description du partage. Les permissions sur le partage pour l’utilisateur « Florian » sont à définir pour qu’il accède en en lecture/écriture, et pour l’utilisateur « Administrateur » pour qu’il accède en contrôle total. III. Le code Voici le code du script, nous verrons les explications en troisième partie. REM Creation d’un partage REM Variables set DossierPartage=C:\ressources set NomPartage=ressources set RemarquePartage= »Ressources Neoflow.fr » set NbrMaxUtilisateurs=10 REM Creation du repertoire mkdir %DossierPartage% REM Partage du repertoire et parametrage net

Lire cet article
Commandes et Système

Activer l’autocomplétion bash sous Linux

I. Présentation L’auto-complétion sous Linux est ce qui existe nativement au niveau du parcours des fichiers. Par exemple si vous commencez à entrer « ls /home/ » puis que vous appuyez sur [TAB] vous verrez l’ensemble des fichiers et dossiers du répertoire. Également si vous entrez le début du nom d’un fichier et que vous appuyez sur [TAB], la fin du fichier s’écrit tout seul. Ce que nous cherchons à faire ici est d’avoir le même procédé pour les commandes Linux ou les paquets lors d’un apt-get. II. La procédure La procédure est assez simple, il  faut se rendre dans le fichier /etc/bash.bashrc en root et décommenter les lignes suivantes : if [ -f /etc/bash_completion ] && ! shopt -oq posix; then . /etc/bash_completion fi Il faut ensuite recharger votre terminal pour qu’il applique les nouveaux paramètres : source .bashrc Vous pourrez alors constater que si vous entrer « apt- » puis que vous appuyez sur [TAB] vous aurez la liste des possibilités de

Lire cet article
Batch

Miroir d’une arborescence avec Robocopy

I. Présentation Robocopy est un outil en ligne de commande permettant d’effectuer des tâches de copies de fichiers et de répertoires. Il propose de nombreuses options, dont une option intéressante qui permet de faire un miroir d’une arborescence c’est-à-dire de rendre identique l’arborescence source avec celle de destination. Autrement dit, cela permet de faire une sauvegarde d’un répertoire vers un autre en s’assurant que les deux soient identiques, c’est la raison pour laquelle on parle de « miroir ». Lors de la première exécution, le miroir doit être construit étant donné que la destination est vide, Robocopy copie donc tout ce qui est contenu dans la source vers le répertoire de destination. Lors des prochaines exécutions, les nouveaux répertoires et fichiers seront copiés, ainsi que tout ce qui est modifiés, et sera supprimé tout ce qui se trouve dans la destination et qui n’est plus dans la source. Toujours dans le but d’avoir deux arborescences identiques. Dans ce tutoriel, nous

Lire cet article
Commandes et Système

La commande history sous linux

I. Présentation La commande history est une commande POSIX (commune à toutes les distributions type Unix) qui permet de remonter dans les commandes que nous avons passées. Il vous arrive probablement souvent de remonter vos commandes pour les réexecuter avec le « UP » (flèche du haut) de votre clavier, vous faites ainsi défiler l’ensemble des commande que vous avez exécutées. Cela est possible grâce à « history ». En effet, quand vous passez une commande, celle-ci est stockée dans un fichier du nom de « .history » du répertoire « home/$User ».Si l’utilisateur « paul » tape les commandes « ls »et « cd / », celles-ci seront stockées dans le fichier « /home/Paul/.history » et quand Paul voudra remonter dans ses commandes, c’est le processus et le fichier « .history » qui l’aideront. II. La commande Tapez la commande suivante pour voir vos dernières commandes passées: history Les commandes que vous verrez seront alors uniquement celles de l’utilisateur avec lequel vous êtes connecté. Pour voir les commandes d’un autre utilisateur, il faut aller ouvrir le fichier

Lire cet article