Category: Linux

  • RSYNC et transfert de fichier en local

    Vous êtes-il déjà arriver de transférer un volume important de données entres deux machines ? Et de vous dire, mon debit est si lent ^^ !!

    Si c’est votre cas de transférer beaucoup de données entre serveur et qu’il n’y a pas de problématique du connexion peu sécurisée (transfert dans un réseau local), je vous invitent à lire ces quelques linges.

    Il faut savoir que RSYNC utilise SSH pour créer le lien entre les deux machines. Sans m’attarder sur le protocole, on va voir comment réduire la sécurité afin d’augmenter le taux de transfert.

    Pour cela je vais passer des options à SSH par le bias de RSYNC à l’aide du “-e”.

    rsync -aHAXxv -e 'ssh -T -c aes256-gcm@openssh.com -o Compression=no -x' [source] [destination]

    Nous avons donc ici passer les options suivantes à SSH:

    • -T: Désactivation du pseudo terminal, ne faisant que du transfert de fichier cela n’est pas utile.
    • -c: On défini un cryptage plus “souple” pour ne pas user trop de ressources pour le chiffrement des données.
    • -o: Désactivation de la compression des données. La encore on évite la compression de données. Etant sur un réseau local, c’est un gain de temps que de compresser les donner.
    • -x: Désactive le transfert X11, car aucun besoin de session d’affichage.

    Pour les options de RSYNC, je vous renvoie vers la documentation ^^.

    http://www.delafond.org/traducmanfr/man/man1/rsync.1.html

    Et voilà ! Vous devriez accélérer de manière significative votre transfert ^^

  • Mon script bash est-il déjà lancé ?

    Il m’arrive souvent d’utiliser la combinaison cron et script bash pour automatiser des tâches.

    Mais voilà, parfois elles sont longues a s’exécuter ou le volume de données à traiter est important et cela peut durer des heures.

    Afin d’éviter que le script se relance alors qu’il se trouve déjà en exécution, voici ma façon de procéder.

    L’ensemble des lignes sont à rajouter dans votre propre script. Il y a aussi obligation qu’il se termine en “.sh” et l’utilisation de _ pour les espacements.

    let "PROCESS_RUNNING=$(ps -ax | grep $(echo $0 | grep -o '\w*.sh$') | wc -l) - 3"
    
    if [ ${PROCESS_RUNNING} -gt 1 ]
    then
            echo "Proccess ${PROCESS_NAME} is already running"
            exit 1;
    else
            ..... Votre code ici .....
            exit 0;
    fi

    Voilà plus de risque qu’une tâche soit lancée plusieurs fois par un “cron” !

  • Récupérer des fichiers depuis Github avec cURL

    Il m’arrive souvent de devoir récupérer des fichiers depuis Github sur Linux.

    Ne voulant pas faire un clone du dépôt, trop lourd pour un ou quelques fichiers, j’utilise un outil bien connu cURL.

    Alors pour télécharger uniquement en fichier, utiliser cURL de la manière suivante:

    curl -LJO https://github.com/VSCodium/vscodium/releases/download/1.55.1/codium_1.55.1-1618015952_amd64.deb

    Pour les plus curieux, voici une courte explication des options passées à cURL

    • L : Permet de traiter le code retour 3XX, signalant une redirection HTTP.
    • J : Permet d’indiquer le nom du fichier à l’option -O, évitant l’adresse complète.
    • O: Enregistre le contenu dans un fichier.
  • Ajout d’un disque de réserve sous Proxmox

    Nous le savons tous, un disque dur n’est pas éternel. Un jour ou l’autre, une défaillance apparaitra.

    Afin de mettre une “sécurité” devant l’inévitable, je vous propose dans cet article une manière d’ajouter un disque de réserve. Ceci afin qu’il puisse prendre le relais à la suite d’une dégradation du matériel de stockage.

    (more…)
  • Recupérer les données d’un snapshot ZFS

    Il est important de réaliser des sauvegardes de ces données de manière régulière. Il est tout aussi primordial de pouvoir les récupérer.

    C’est pour cela que nous allons voir les étapes pour récupérer les données présentent sur un snapshot ZFS, représentant un disque block monté en iSCSI. Le tout sans aucune coupure de service. La récupération se basera sur la mise en place d’un clone.

    (more…)
  • Configurer l’envoi de mail sur Proxmox

    Court billet pour décrire la configuration de Postfix présent sur Proxmox afin d’envoyer des emails.

    (more…)
  • Client Nextcloud sur Fedora

    Je m’intéresse aujourd’hui à la mise en place du client Nextcloud sur Fedora 30. Rien de bien complexe pour son installation, mais il reste des points à paufiner. C’est ce que je vais d’écrire dans ce billet

    (more…)
  • Montage automatique de partition cryptée sur Fedora (cryptsetup)

    Un court bilet me servant d’aide mémoire pour le montage automatique de partition cryptée sous Fedora (30).

    (more…)
  • Création d’un serveur SAN

    Objectif:

    Cet article est de donner la ligne à suivre pour mettre en place un SAN. Il a aussi le but d’être un mémo sur les étapes à suivre. Pour réduire les coûts, nous nous baserons sur des solutions de logiciel libre tel que CentOS pour la distribution ou encore OpenZFS pour le système de fichier. Ce dernier offrant multiple avantages facilitant la gestion des données aussi que la sauvegarde (snapshot, replication, compression, … etc).

    Pour rappel, nous traitons le sujet dans son ensemble. Je resterais succins sur les choix techniques, à vous d’adapter suivant vos propres besoins et plateforme.

    (more…)

  • Monter une partition NTFS sur Linux

    Nombreux article sur internet décrive la manière de proéceder pour monter une partition NTFS sous Linux. Que ce soit par une interface graphique ou la console (terminale). Mais peu parle sur la problématique du système d’hibernation mis en place par Microsoft sur les versions récentes de Windows.

    La encore, on tombre rapidement sur de la lecture pour “débloquer” le disque et évite un montage en lecture seule.

    Mais voilà comment faire lorsque le disque contenant une partition NTFS est vérrouillé (hibernation), et qu’en plus le PC contenant se disque et absent ou voir desfectueux … !!!

    Première étape va être de fixé la partition.

    On commence par brancher physiquement le disque sur le PC (SATA, dock USB, …) puis on recherche la partion

    sudo fdisk -l

    Disk /dev/sdb: 1.8 TiB, 2000398934016 bytes, 3907029168 sectors
    Units: sectors of 1 * 512 = 512 bytes
    Sector size (logical/physical): 512 bytes / 4096 bytes
    I/O size (minimum/optimal): 4096 bytes / 4096 bytes
    Disklabel type: dos
    Disk identifier: 0x6a996990

    Device Boot Start End Sectors Size Id Type
    /dev/sdb2 1026048 3907026943 3906000896 1.8T 7 HPFS/NTFS/exFAT

    Puis on créer le répertoire pour monter notre partition

    sudo mkdir -p /mnt/win

    Et l’on monte simplement la partition sans se préoccuper de la partie hibernation windows

    sudo mount -t ntfs-3g /dev/sdb2 /mnt/win

    Et la c’est la catastrophe …

    The disk contains an unclean file system (0, 0).
    Metadata kept in Windows cache, refused to mount.
    Falling back to read-only mount because the NTFS partition is in an
    unsafe state. Please resume and shutdown Windows fully (no hibernation
    or fast restarting.)

    Pas de panique !!! Deux solutions s’offre à nous. Soit le fait d’avoir le montage en lecture seule n’est pas problématique (sauvegarde de fichier, …) en l’état le montage est satisfaisant. Autre possibilité si le souhait est venir écrire ou supprimer des données alors la suite est pour vous :).

    On va d’abord fixer la partition NTFS, mais avant n’oublié pas de la démonter

    sudo umount /mnt/win

    Lancement de la commande pour fixé la partition

    sudo ntfsfix /dev/sdb2

    Résultat de la commande:

    Mounting volume... The disk contains an unclean file system (0, 0).
    Metadata kept in Windows cache, refused to mount.
    FAILED
    Attempting to correct errors...
    Processing $MFT and $MFTMirr...
    Reading $MFT... OK
    Reading $MFTMirr... OK
    Comparing $MFTMirr to $MFT... OK
    Processing of $MFT and $MFTMirr completed successfully.
    Setting required flags on partition... OK
    Going to empty the journal ($LogFile)... OK
    Checking the alternate boot sector... OK
    NTFS volume version is 3.1.
    NTFS partition /dev/sdb2 was processed successfully.

    Puis on remonte la partition, sans oublié de passer l’option “remove_hiberfile” à la commande mount

    sudo mount -t ntfs-3g -o remove_hiberfile /dev/sdb2 /mnt/win

    Et voilà, votre partition NTFS est montée avec les droits d’écriture 🙂