12/12/2024

Scripting

PowerShellSystème

NIC Teaming avec Windows Server 2012

I. Présentation Le NIC Teaming appelé aussi association de cartes réseaux est une fonctionnalité très intéressante disponible sous Windows Server 2012. Elle permet de fournir une tolérance aux pannes au niveau des cartes réseaux ainsi que d’effectuer de la répartition de charge sur les différentes cartes faisant partie de l’équipe. De plus, les performances sont meilleures également grâce à l’agrégat de bande passante.  Pour parvenir à cela, les cartes réseaux vont fonctionner en équipe pour assurer la continuité de la connectivité. Ainsi, si vous disposez de deux cartes réseaux 10 Gbit/s et que vous créez une équipe avec ces deux cartes, l’agrégat de bande passant vous offrira un débit de 20 Gbit/s (théorique). Il est possible de mettre en place le NIC Teaming au sein d’un ordinateur virtuel, chaque carte réseau virtuel étant reliée à un commutateur virtuel différent, qui lui aura d’attribué une carte réseau physique différente afin d’assurer la redondance des liens. Il est également de créer une

Lire cet article
Batch

Changer le titre de la fenêtre DOS en cours

I. Présentation Le titre par défaut d’une fenêtre DOS n’est pas très original pour ne pas dire banal. En effet, elle est nommée « C:\Windows\system32\cmd.exe ». Nous allons qu’il est possible très simplement de changer le titre de la fenêtre DOS en cours, de quoi donner un nom plus sympa à votre fenêtre de scripts. II. Procédure Après avoir ouvert une Invite de commandes, saisissez la commande suivante : title Neoflow.fr Vous n’avez qu’à ajouter votre titre après la commande « title » et le tour est joué ! Regardez :

Lire cet article
BashCommandes et Système

Marquer un temps d’arrêt en bash avec SLEEP

I. Présentation Dans ce tutoriel, nous allons apprendre à marquer un temps d’arrêt dans un script bash. Ce peut être une pratique utile dans beaucoup de cas différents. On peut par exemple lancer une commande de lancement d’une machine virtuelle puis vouloir faire une vérification afin de voir si celle-ci est bien démarré. On voudra alors marquer une temps d’arrêt entre le lancement et la vérification pour attendre que la VM ai bien démarré. Ce cas est un exemple parmis beaucoup d’autres. II. La commande « sleep » Nous allons pour le tutoriel utiliser « sleep » de manière très simple comme suivant dans un script bash appelé « script.bash » : #!/bin/bash date echo « étape 1 : » ; sleep 10 date echo « étape 2 :  » ; Nous rendons ensuite exécutable notre script : chmod +x script.sh Puis nous l’exécutons : ./script.sh Voila la sortie que nous en aurons : On voit donc bien que le « 10 » correspond à une attente de 10 secondes. Essayons

Lire cet article
Batch

Détecter un périphérique en fonction d’un fichier

I. Présentation Si vous souhaitez exécuter un script qui effectuera une action entre la machine et une clé USB par exemple, il faudra vérifier le script avant chaque exécution pour voir si la lettre indiquée dans le script correspond à la lettre du lecteur de votre clé USB. Du coup, c’est un peu ennuyeux de devoir faire cela à chaque fois que vous changez de machine. Pire encore, imaginez que ce script sera utilisé par des personnes qui ne connaissent pas grand chose en informatique et qui ne sont pas capables de vérifier la cohérence du script, vous faites comment ? Nous allons voir dans ce tutoriel une solution qui consiste à accéder aux différentes lettres de lecteur disponible jusqu’à trouver un fichier précis, qui devra être indiqué dans le script. Dès que ce fichier sera trouvé sur le périphérique, le script se dira « J’ai trouvé le lecteur sur lequel je dois effectuer l’opération, je peux donc commencer ». Ce script

Lire cet article
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
PowerShell

Introduction à PowerShell

I. Présentation Vous l’aurez peut-être aperçu sur votre Windows 7 au détour d’un menu ou dans la barre des tâches de votre Windows Serveur 2008. Powershell est le grand frère de notre cmd.exe (batch). Il fonctionne sur les plateformes Microsoft depuis XP SP3 et 2003 serveur SP2 (KB à télécharger + Framework .NET 2.0 SP1 requis) et est intégré nativement dans Windows 7 et Windows 2008 serveur. C’est un langage de script orienté objet performant et très riche puisqu’il s’appuie sur les composants du Framework .NET de Microsoft, des objets COM et WMI. L’extension d’un script Powershell est « .ps1 ». Vous le trouverez sous le menu Démarrer > Accessoires > Outils Système > Windows PowerShell Powershell dispose d’une aide embarquée que vous pouvez appeler par la commande « Get-Help » : Get-Help commande La liste des commandes de base est disponible via « Get-Command ». Powershell est capable d’utiliser des alias de commandes afin de raccourcir les lignes de

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
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
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
Batch

Lister le contenu d’un fichier texte en batch

I. Présentation Il peut parfois lors de la construction d’un batch être utile de lire /écrire les données dans un ou plusieurs fichiers textes. En batch, nous utilisons pour cela la commande FOR qui à la structure d’une boucle qui s’exécutera une fois par ligne. II. Pour lister le contenu d’un fichier texte La commande est la suivante : FOR /F %%i in (‘type Fichier_Lecture.txt’) do echo %%i >> Fichier_Ecriture.txt /F signifie que nous travaillons sur un fichier (File) %%i est l’identifiant de la ligne ou de l’objet que nous voulons traiter In (‘type ’) . Tout ce qui suis la commande do sera répété suivant le nombre de ligne du fichier. Dans cette commande, nous écrivons la ligne dans un autre fichier « Fichier_Ecriture.txt » avec la commande echo. La ligne que nous lisons est représentée là aussi par %%i III. Avec plusieurs mots par ligne La commande est sensiblement différente avec plusieurs objets par ligne. Par exemple si

Lire cet article
Base de donnéesBatch

Sauvegarder une base de données sous Windows

I. Présentation Cette fiche a pour objectif de créer un script de sauvegarde rapide d’une base de données sous un format.sql. Nous commencerons pat générer le nom du fichier dans lequel nous allons sauvegarder la base de données. II. Le script et les explications SET JOUR=%date:~-10,2% # prend les deux premiers chiffres de la commande date SET ANNEE=%date:~-4% # prend les 4 derniers chiffres de la commande date SET MOIS=%date:~-7,2% # prend les deux chiffres en partant de 7 caractères depuis la fin ( les deux chiffres du mois ) SET HEURE=%time:~0,2% # prend les deux premiers chiffres de la commande time SET MINUTE=%time:~3,2% # prend les chiffres 2 et 3 de la commande time ( les minutes ) SET REPERTOIR=E:\Desktop\ # A modifier si votre Bureau n’est pas à cet endroit SET FICHIER=%REPERTOIR%\Sauvegarde_du_%JOUR%_%MOIS%_%ANNEE%_A_%HEURE%_%MINUTE%.sql # Création du fichier avec les informations récupérées IF NOT exist « %REPERTOIR% » md « %REPERTOIR% » # pointage vers mysqldump, à modifier si le votre ne se trouve

Lire cet article