Pour effectuer une rotation des médias de sauvegarde GUIDans l’interface de la console d’administration : Device > Library > Opération > Réinitialisation > Full Inventory
[ ARCHIVE ] :
Pour modifier une image HTML toutes les 10 secondes en JavaScript : <img id="image" src="https://lien/vers/image/01.jpg" style="width:100px"> <script> var imageSources = ["https://lien/vers/image/02.jpg", "https://lien/vers/image/03.jpg", "https://lien/vers/image/04.jpg", "https://lien/vers/image/05.jpg"] var index = 0; setInterval(function(){ if (index === imageSources.length) {
Pour savoir de façon plus poussé où se trouvent les logs de NetApp. Dans : <@IP>/spi <@IP>/spi/mlog
Il existe plusieurs façon de créer un répertoire avec Ansible dans un playbook.Base de création d’un playbook : https://n0tes.fr/2023/02/12/Ansible-Playbook/ Déployer des packagesDéployer de façon génériqueLe module ansible.builtin.package permet de déployer des packages dans un parc hétérogène (Debian/RedHat). - name: Install ntpdate ansible.builtin.package: name: ntpdate state: present# This uses a variable as this changes per distribution.- name: Remove the apache package ansible.buil
Il existe plusieurs façon de créer un répertoire avec Ansible dans un playbook.Base de création d’un playbook : https://n0tes.fr/2023/02/12/Ansible-Playbook/ Déployer des packages sur un volume distantCe playbook monte un volume de repository et installe par la suite les packages python3 et mariaDB-common via le module ansible.builtin.yum. Des variables ont été définies dans la section vars du playbook. ---- name: Mount Vol et Intall RPM hosts: Parc-Linux-RHEL become: true vars: mynfs: &q
Pour monter un volume, on utilise la commande mount qui modifie le fichier /etc/fstab, ce fichier s’applique à chaque redemarrage de la machine. Si elle ne peut être éteinte, il faut forcer sa relecture pour que les changements puissent y être appliqués. Monter un volumeVolume localSimplement avec la commande mount ou en modifiant le fichier /etc/fstab pour le rendre permanent : # mount -t nfs /dev/sdd1 /mnt/mon/volume Sur du NetApp : # mount -t nfs aggregat25:/vol/volume /mnt/mon/volume Démont
Il existe plusieurs façon de créer un répertoire avec Ansible dans un playbook.Base de création d’un playbook : https://n0tes.fr/2023/02/12/Ansible-Playbook/ Lancer des servicesLancer un service : - name: Start service httpd, if not started ansible.builtin.service: name: httpd state: started Stoper un service : - name: Stop service httpd, if started ansible.builtin.service: name: httpd state: stopped Relancer un service : - name: Restart service httpd, in all cases ansible.buil
Il existe plusieurs façon de monter un volume avec Ansible dans un playbook.Base de création d’un playbook : https://n0tes.fr/2023/02/12/Ansible-Playbook/ Monter un volumeMonter un volume : ---- name: Monter un volume ansible.posix.mount: path: /home/levolume src: data:/vol/leVolume fstype: rw,rsize=32768,wsize=32768 state: mounted- name: Mount DVD read-only ansible.posix.mount: path: /mnt/dvd src: /dev/sr0 fstype: iso9660 opts: ro,noauto state: present- name: Mount up devi
Il est possible de paramétrer des queues sous SGE avec la commande qconf. Lister les propriétés des queuesLister toutes les queues : # qconf -sql Détails d’une queue en particulier : # qconf -sq <nom_queue> Configurer une queueAjouter une nouvelle queueAjouter une nouvelle queue (l’éditeur de texte par defaut s’ouvrira pour modifier le modèle prédéfini) : # qconf -aq <nom_Queue> Ajouter une nouvelle queue à partir d’un fichier qui a déjà définie la queue (Le fichier de définition
La commande lp permet de gérer les impressions en ligne de commande sous Linux avec le serveur d’impression CUPS (Common Unix Printing System). Serveur d’impression CUPSIntallationPour intaller le serveur d’impression CUPS : # apt install lprng ConfigurationLes fichiers de configuration de CUPS se trouvent dans /etc/cups/printers.conf. Pour partager l’imprimante il faut lui préciser son @IP, son port et mettre Shared Yes : # Printer configuration file for CUPS v1.4.3# Written by cupsd# DO NOT
Pour modifier les informations d’un utilisateur contenues le /etc/passwd on utilise usermod. UtilisationExtrait du manuelExtrait du manuel : -d, --home HOME_DIR new home directory for the user account-e, --expiredate EXPIRE_DATE set account expiration date to EXPIRE_DATE-f, --inactive INACTIVE set password inactive after expiration to INACTIVE-g, --gid GROUP force use GROUP as new primary group-G, --groups GROUPS new list of supplementary GROUPS-a, --app
Il existe plusieurs façon de créer un répertoire avec Ansible dans un playbook.Base de création d’un playbook : https://n0tes.fr/2023/02/12/Ansible-Playbook/ Manipuler des fichiersCopieCopier un fichier : - name: Copy file with owner and permissions ansible.builtin.copy: src: /srv/myfiles/john.conf dest: /etc/john.conf- name: Copy file with owner and permissions ansible.builtin.copy: src: /srv/myfiles/john.conf dest: /etc/john.conf owner: john group: john mode: '0644&
Les commandes usuelles pour lancer votre playbook sont : # ansible-playbook playbook.yaml# ansible-playbook -i /chemin/inventory.yaml playbook.yaml# ansible-playbook -b -k playbook.yaml -u ansible -v Tous les playbooks doivent commencer de la façon suivante : ---- name: <Titre> hosts: <Nom_groupe_hosts_dans_inventory> <options> // exemple become:true tasks: La suite contient les tâches à déployer : [...] // les tâches à déployer sur les n
Pour pouvoir lancer certains playbooks, Ansible a besoin d’appeler des modules ou des plugins. Liste des modules et pluginsAnsible BuiltinLa collection “ansible.builtin” est un ensemble de modules/plugins propres à Ansible. https://docs.ansible.com/ansible/latest/collections/ansible/builtin/ Autres collectionsD’autre modules/plugins existent et permettent d’interférer avec d’autres solutions comme Windows, NetApp, Docker, Google, Amazon, Cisco, Graphana, mysql, etc. https://docs.ansible.com/ansi
Le fichier se place dans /etc/ansible/hosts et référence tous les noeuds que doit traiter Ansible. Il est possible selon la configuration, d’utiliser directement des sous-dossiers en fonction des groupes ou des variables attribuées. Commandes pour l’inventairePour vérifier l’inventaire, la commande ping d’Ansible peut-être utilisée : # ansible all -m ping# ansible all:\&prod -m ping# ansible chimie:\!prod -m ping Pattern Résultat all Tous les hosts de l’inventaire host1 Un seul host
Pour fonctionner correctement, Ansible a besoin d’un fichier hosts spécifique et d’un playbook (plans d’automatisation) écrits en YAML (ou INI pour l’inventory). Fichier hostsLe fichier se place dans /etc/ansible/hosts et référence tous les noeuds que doit traiter Ansible. Liste des hostsFormat INIFichier au format INI : mail.mondomaine.fr[webservers]intranet.mondomaine.frwiki.mondomaine.fr[prod]cluster01.mondomaine.fr:cluster02.mondomaine.fr:[testNode]LINUX-444.mondomaine.fr:LINUX-666.mondomain
Sous Ansible, le principe de fonctionnement tourne autours de 3 choses essentielles : L’inventaire (les machines, clientes ou serveurs) Les playbooks (Syntaxe YAML définissant les tâches à déployer) Les modules (appel de modules spécifiques en fonction de la tâche demandée) L’inventaireIl se trouve dans /etc/ansible/hosts et contient la définition de tous les noeuds (hosts+serveurs) du parc. Il est possible de définir l’inventaire dans un autre dossier et de le préciser lorsque vous lancer vos
Ansible est un outils de déploiement multinoeuds. Le déploiement sur les noeuds/serveurs/hôtes se fait en SSH (ne nécessite donc pas d’installation de logiciels supplémentaires sur ces derniers). Accessoirement, un ansible est un dispositif fictif (imaginé en 1966 par Ursula K. Le Guin) permettant de communiquer à une vitesse supraluminique (vitesse supérieure à celle de la lumière). Principes de baseAnsible automatise la gestion des systèmes distants et contrôle leur état souhaité. Un environn
Simple rappel sur les plages d’adresses IPV4 privées. Préfixe Plage IP Nombre d’adresses 10.0.0.0/8 10.0.0.0 – 10.255.255.255 2^(32-8) = 16 777 216 172.16.0.0/12 172.16.0.0 – 172.31.255.255 2^(32-12) = 1 048 576 192.168.0.0/16 192.168.0.0 – 192.168.255.255 2^(32-16) = 65 536 Documentationhttps://fr.wikipedia.org/wiki/R%C3%A9seau_priv%C3%A9https://fr.wikipedia.org/wiki/Adresse_IP
Commandes de base pour diagnostiquer un problème réseau en effectuant les tests préliminaires : # ssh <nomhôte ou adresseIP># ping <nomhôte ou adresseIP># tracert <nomhôte ou adresseIP># dig <nomhôte ou adresseIP> La commande dig envoie l‘@IP du serveur, pinger le serveur pour vérifier.
Une application sous TiNa est (en général) un ensemble de sauvegardes sur lequel il faut préciser les volumes à sauvegarder, à quelles fréquence et sur quels médias. Prérequis - vérificationsNetappVérifier les volumesEn premier lieu, il faut vérifier les volumes à sauvegarder dans Netapp, en console : > set -row 0> volume showclusterHPC_01 vol0 aggr0_clusterHPC_01 online RW 500PB 450TB 5% clusterHPC_02 vol0 aggr0_clusterHPC_02 online RW 500PB 450TB 5% svm_
Cloudflare peut faire autorité de certification et générer un certificat TLS gratuitv à installer sur votre serveur Nginx. PrérequisLes prérequis sont : Un serveur Nginx configuré pour un site Internet en https Un compte Cloudflare paramétré pour votre site Internet Un nom de domaine avec accès aux DNS pour les faire pointer chez Cloudflare Génération du certificatSur Cloudflare, dans Websites, selectionner votre site Internet. Une fois dans le pannel d’administration de votre site, dans le me
Parfois il arrive que des utilisateurs aient lancé des jobs sur une queue avec une QOS (de temps) trop courte et que leurs calculs ne puissent pas se finir dans le temps imparti. Pour leur accorder du temps supplémentaire, il faut modifier le TimeLimit à l’aide de la commande scontrol avec un update. Créer une limite de tempsNormalement on définie une QOS valable pour un groupe d’utilisateurs ou pour une queue/noeud mais il est possible de modifier une valeur (ici de temps) au cas par cas. Affic
J’ai trouvé 2 tetris en bash, les liens originaux se trouvent dans la section Documentation. ScriptsVersion colorLe script tétris en bash avec des couleurs : #!/bin/bash # Tetris Game #APP declarationAPP_NAME="${0##*[\\/]}"APP_VERSION="1.0" cRed=1cGreen=2cYellow=3cBlue=4cFuchsia=5cCyan=6cWhite=7colorTable=($cRed $cGreen $cYellow $cBlue $cFuchsia $cCyan $cWhite) iLeft=3iTop=2((iTrayLeft = iLeft + 2))((iTrayTop = iTop + 1))((iTrayWidth = 10))((iTrayHeight = 15)) cBord
Script avec une boucle while et un random pour deviner un nombre compris entre 0 et 1000 Script bashAvec mise en formeLe scriptLe script avec une mise en forme : #!/bin/bashnumber=$(( $RANDOM % 1000 + 1 ))echo -e "┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━"echo -e "┃ JEUX : DEVINER UN NOMBRE "echo -e "┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━"guess=0n=0echo -n "┃ Deviner le nombre compris entre
LUKS (Linux Unified Key Setup) est un standard associé au noyau Linux pour chiffrer les disques. Sous Linux ce chiffrement se fait avec la commande cryptsetup. Commandes LUKSLa commande cryptsetup s’utilise comme telle, elle demande les privilèges les plus élevés du système (root, ansible, etc.) : # cryptsetup [OPTION...] <action> <paramètres de l'action> Actions possibles Commandes Actions open <volume> [--type <type>] [<nom>] ouvrir le volume close
La commande sftp permet de transférer (upload/download) des fichiers sur un serveur ou un hôte. Connexion avec sftpConnexion à un hôte distantPour établir une connexion SFTP : # sftp username@IP_or_host Pour préciser le port : # sftp -P port_num username@IP_or_host Transfert de fichiersDownloadPour télécharger des fichiers qui sont sur votre serveur sftp : sftp> get monFichier.txt Pour télécharger plusieurs fichiers : sftp> mget /chemin/*.ext Pour télécharger un dossier complet : sftp&
Calcul en bash des périmètres, aires, surfaces et volumes d’un cercle/sphère, carré/cube et triangle/tétraèdre. Dans ce script, les résultats n’affichent que la partie entière. Rappel des formules de plusieurs formes géométriques Cerce/Sphère Triangle/Tetraèdre Carré/Cube Rectangle/Boîte Périmètre 2πR C1+C2+C3 4C (L+l)*2 Aire πR² (C1*C2)/2 C² (L*l) Surface 4πR² 2(C1*C2) 6C² 2((L1*l1)+(L2*l2)+(L3*l3)) Volume (4/3)πR³ (Aire*h)/3 C³ (L*l)*P Script
Un nombre est pair lorsque le reste de sa division euclidienne par 2 est 0. En d’autres termes un nombre est pair lorsque son modulo 2 est égal à zéro. Script bashAvec mise en formeLe scriptLe script avec une mise en forme : #!/bin/bash# Fonction Pair/Impairpairimpair(){ for i in $valeur do if (($i%2==0)); then echo pair else echo impair fi done}# Affichage de tous les termes
Les sempiternelles suites de Fibonnaci…, on les retrouve toujours partout en progra, comme la tour de Hanoï dans n’importe quel jeu d’énigmes d’ailleurs… Voici donc un script bash permettant de calculer la suite de Fibonnaci. Pour rappel, une suite de Fibonnaci est une fonction récursive et se calcule de la façon suivante : F(0) = 0F(1) = 1F(n) = F(n–1) + F(n–2) Exemple :F(2) = F(1) + F(0) = 1F(3) = F(2) + F(1) = 1+1 = 2F(4) = F(3) + F(2) = 1+1 + 1 = 3F(5) = F(4) + F(3) = 1+1+1 + 1+1 = 5F(6) =
Un script bash permettant de calculer la factorielle d’un nombre. Pour rappel, une factorielle est une fonction récursive et se calcule de la façon suivante : n! = n * (n-1) * (n-2) * ... * 1 Exemple : 5! = 5 * 4 * 3 * 2 * 1 = 120 Script bashAvec mise en formeLe scriptLe script avec une mise en forme : #!/bin/bash# Fonction factorielleF=1factorielle(){ for ((i=1;i<=valeur;i++)) do F=$((F*$i)) done echo -e "\e[31m $F \e[0m"}# Affichage de tous les termes
La commande bang bang ou !! permet d’exécuter la dernière commande tapée dans le terminal. Il est également possible de préciser un nombre !n ou n correspond à la ligne dans l’historique (voir commande history) Pour lancer la dernière commande : # !! Pour lancer la commande n°42 (voir son historique): # !42 Remerciements midorino3142 Merci à midorino3142 pour ce TIL !
Sur un contrôleur de domaine Windows, ou sur un serveur Linux OpenLDAP, le protocole LDAP permet de centraliser l’authentification. La commande ldapsearch permet de rechercher des entrées dans une arborescence d’annuaires LDAP Configuration du serveur LDAPPour voir la configuration de votre LDAP, on utilise les options cn=config et -Y suivi de EXTERNAL, avoir accès à la configuration est utile pour par exemple modifier les contrôles d’accès ou modifier le mot de passe root. La commande doit être