Catégorie : Système d’exploitation

  • Mettre un outil de surveillance sous Linux

    Travaillant sur plusieurs environnement à base de Linux, il est important de mettre en place un outil de surveillance sous Linux. J’ai choisi de mettre en place un script Bash pour effectuer cette mission.

    Pour exécuter le script en arrière-plan et enregistrer les informations toutes les secondes de manière journalière, j’utiliserai cron avec une combinaison de nohup et watch. Voici comment j’ai fait :

    Étape 1 : Modifier le Script pour une Exécution Continue

    Je me suis assuré que mon script s’exécute en continu. j’ai ajouté une boucle infinie avec un délai d’une seconde :

    outil de surveillance sous Linux

    Étape 2 : Utiliser nohup pour Exécuter en Arrière-Plan

    Puis j’utilise nohup pour exécuter le script en arrière-plan et rediriger la sortie vers un fichier de log :

    nohup

    Étape 3 : Configurer un Cron Job pour Démarrer le Script au Démarrage

    J’ajoute une tâche cron pour démarrer le script au démarrage du système. J’édite le crontab avec la commande :

    crontab -e

    Puis j’ajoute la ligne suivante pour exécuter le script au démarrage :

    Exécution du script au démarrage.

    Étape 4 : Vérifier les Logs

    Pour finir, je m’assure que les logs sont correctement enregistrés dans le fichier spécifié :

    Vérification de l'enregistrement des logs dans le fichier
  • Changer de version de PHP en Bash

    commande bash pour PHP

    Retour d’expérience de développeur PHP sous Linux.
    Le besoin de base était de pouvoir switcher de version de PHP en quelques secondes.

    Personnellement, j’ai 4 versions de PHP en parallèle sur mon Ubuntu 7.4, 8.0, 8.1 et 8.2), et pour faire un switch, j’avais quelques commandes Bash.
    Les problèmes que j’avais étaient les suivants :

    • Je n’avais pas de script complet la-dessus. Je lançais les commandes les unes après les autres.
    • Je désactivai une version spécifique de PHP, pour activer la version que je souhaitai

    J’ai voulu aller plus loin sur ces 2 points. J’ai donc fait un script complet qui désactive la version courante de PHP, et active la version de PHP demandé.
    J’ai mis en place aussi plusieurs vérifications, pour voir ce qui était mis en argument du script.

    Voici le script Bash :

    #!/bin/bash
    
    # This script switches the default PHP version on Ubuntu
    
    # Check if script is being run as root
    if [ "$(id -u)" != "0" ]; then
      echo "This script must be run as root" 1>&2
      exit 1
    fi
    
    # Check if version number is provided
    if [ $# -ne 1 ]; then
      echo "Usage: $0 <version>" 1>&2
      exit 1
    fi
    
    # Check if selected version is installed
    if ! dpkg -s "php$1" >/dev/null 2>&1; then
      echo "PHP version $1 is not installed" 1>&2
      exit 1
    fi
    
    # Disable current PHP version
    a2dismod php$(php -v | head -n 1 | cut -d " " -f 2 | cut -c 1-3)
    
    # Enable selected PHP version
    a2enmod php$1
    
    # Switch CLI version
    update-alternatives --set php /usr/bin/php$1
    
    # Restart Apache for changes to take effect
    systemctl restart apache2
    
    echo "Switched PHP version to $1"

    J’ai personnellement mis ce script dans un fichier, que j’ai nommé php-switch.sh.

    Ensuite, pour changer de version de PHP, exécutez le script avec le numéro de version comme argument. Par exemple, pour basculer vers PHP 8.2, vous pouvez utiliser la commande suivante :

    sudo ./php-switch.sh 8.2

    Et pour basculer vers PHP 7.4, vous pouvez utiliser la commande suivante :

    sudo ./php-switch.sh 7.4

    Améliorations

    Pour le moment, je ne vois pas forcément de piste d’amélioration, mais n’hésitez pas à m’en proposer si vous en avez.

  • Réduire la taille d’une image en Bash

    Petit retour d’expérience sur une demande que j’ai eu récemment. Une connaissance m’avait demandé de diminuer la taille d’une de ces photos.

    Personnellement, je ne voulais pas perdre de temps à utiliser Gimp pour faire ce genre de chose. Utilisant Linux, j’ai trouvé la solution avec imagemagick.
    il suffit de taper la commande suivante :

    convert image.jpg -resize 50% image50.jpg

    Cette ligne de commande permet de réduire l’image image.jpg de 50%.
    L’image image50.jpg sera l’image réduite.

    Pour aller plus loin. Imaginons que vous ayez tout un dossier de photo jpg à réduire, je vous propose le script suivant :

    for i in *.jpg; do
    	j="${i%.jpg}"
    	if [ -z "$1" ]; then
    		convert "$j.jpg" -resize 50% "$j.jpg";
    	elif [ -n "$1" ]; then
    		convert "$j.jpg" -resize "$1"% "$j.jpg";
    	fi
    done

    J’ai personnellement mis ce script dans un fichier, que j’ai nommé pictures.sh.

    pictures.sh
    pictures.sh 25
    pictures.sh 60

    Dans votre terminal, si vous lancez le script sans argument, il réduira les images à 50%.

    Si vous ajoutez un argument, comme 25 ou 60 dans l’exemple ci-dessus, les images seront réduire de 25% ou 60%.

    Améliorations

    Il y a plein de piste d’amélioration à ce script Bash.
    La première amélioration étant la gestion de l’argument, et le fait de n’accepter que des chiffres de 1 à 99.
    La deuxième amélioration étant la gestion des autres formats d’images : PNG, JPEG, etc…

    Inspirations

    Site michtoblog : [terminal] Réduire la taille d’une image en ligne de commande
    Documentation imagemagick : https://doc.ubuntu-fr.org/imagemagick
    Site commentcamarche : Bash – Les arguments (paramètres)

  • Tuto Les Commandes de Base de Linux Ubuntu Server

    Tuto Les Commandes de Base de Linux Ubuntu Server

    Tuto Les Commandes de Base de Linux Ubuntu Server

    Linux est le système d’exploitation le plus utilisé en tant que serveur, pour héberger les sites ou les applications Web.

    Fabrice David nous propose sur le site tuto.com, un tutoriel sur les commandes de base de linux ubuntu server. Il dure 1h13m et coûte 12€.

    Il est très facile d’accès, même pour les personnes ne connaissant pas la ligne de commande. Les explications sont compréhensible, et le tutoriel est divisé en notions clair et précise.

    Voici les notions traité dans le tutoriel :

    • Téléchargement et Installation Linux Ubuntu Serveur.
    • Mises à Jour de Linux Ubuntu Serveur.
    • Utilisation de Linux Ubuntu Serveur en Lignes de Commandes en Connaissant les Commandes de Base.
    • Configuration de la Connexion Réseau de Linux Ubuntu Serveur.
    • Configuration et Utilisation de  Linux Ubuntu Serveur à Distance.

    Une formation = un extrait

    Pour cette formation, je vous propose la vidéo traitant de l’authentification, le passage en super administrateur (root), le redémarrage et l’extinction.

    Liens de partenariat

    Lien de la formation : Tuto Les Commandes de Base de Linux Ubuntu Server
    Lien des formations liées au Linux.

  • Windows et IE en machines virtuelles

    virtual_machine_featuresInternet Explorer est un navigateur à part dans le monde du Web.
    Il n’existe que sur Windows, et est en retard dans le support du CSS3.

    Quand un développeur travaille principalement sur Linux, il faut trouver des solutions pour tester les différentes versions d’Internet Explorer, avec les différentes versions de Windows.

    J’ai trouvé la solution sur Github, la note suivante : IE 7/8/9/10/11 Virtual machines from Microsoft.
    Quelqu’un a créé pour nous, plusieurs boites virtuelles nous permettant de faire ces tests. Cela va des versions 7 à 11 d’Internet Explorer, de windows XP à windows 10.
    Même si la note est en anglais, tout est bien expliqué et compréhensible.

    Il suffit juste d’avoir Virtualbox.

    Profitez-en bien !