:::: MENU ::::

Accueil

  • Jul 25 / 2018
  • 0
Linux

Automatiser la mise à jour apt en conservant les actuels fichiers de configuration

Lorsqu’une mise à jour est faite sur un serveur Debian/Ubuntu, si un paquet essaie de modifier un fichier de configuration, un choix manuel est requis. Si vous essayez d’automatiser le processus, vous souhaitez probablement éviter cette question and conserver la configuration actuelle par défaut.

Pour cela, vous pouvez utiliser ce script :

Les différentes options vont forcer la mise à jour à conserver la configuration actuelle et ne pas l’écraser avec celle par défaut du package.

  • Jun 04 / 2018
  • 0
Linux

Installer le JRE Oracle via la ligne de commande (pas de repo)

Il n’y a pas de moyen automatique pour déployer le JRE Oracle sur des serveurs puisqu’il n’existe pas de dépôt officiel pour la plupart des distributions Linux. Mais il est facile d’automatiser le process pour télécharger automatiquement le paquet voulu et l’installer en utilisant la ligne de commande.

Voici un exemple pour télécharger le JRE 1.8u172 depuis le site officiel pour un serveur CentOS. Il vous faudra récupérer l’URL du paquet voulu depuis le site officiel: http://www.oracle.com/technetwork/java/javase/downloads/jre8-downloads-2133155.html

Premièrement, téléchargez le paquet depuis le site en acceptant automatiquement les conditions de licence:

Ensuite, installez le paquet que vous venez de télécharger sur le serveur :

  • Apr 01 / 2018
  • 0
Linux, Python

Utiliser procmail avec un script python personnalisé

Si vous souhaitez exécuter des commandes particulières, créer un log ou faire un appel API lorsque vous recevez un email sur votre server, vous pouvez le faire facilement en configurant procmail. Procmail est destiné à filtrer et trier les emails que vous recevez mais peut être paramétré pour exécuter d’autres actions.

Ici, par exemple, nous allons effectuer un simple appel vers un script Python qui pourra lire le contenu du mail (en-têtes et corps) et pousser les informations dans un fichier log.

1. Installer procmail

Selon l’OS que vous utilisez, vous devriez trouver un package pré-compilé pour les repositories communs.

Par exemple, dans un environnement Debian :

ou sur un environnement CentOS :

2. Construire le script python que vous appellerez pour analyser le message

Vous devez maintenant préparer le script que vous allez exécuter lorsque vous allez recevoir un mail, qui va lire et parser le contenu pour écrire les informations intéressantes dans un fichier de log.

Créons un script appelé procmail_script.py

3. Configurer votre utilisateur pour passer le mail au script

Pour que vous puissiez exécuter les règles que vous souhaitez exécuter lorsque vous recevez un email, vous devez créer un fichier (caché) appelé .procmailrc dans le répertoire home de votre utilisateur.

Par exemple, pour exécuter les règles lorsque vous recevez un email sur [email protected], vous allez devoir mettre ce fichier dans le répertoire home tel que /home/mailuser/.procmailrc

Ceci va effectuer plusieurs étapes :

  1. Vérifier que l’email est bien destiné à [email protected] ou [email protected]
  2. Mettre une copie du mail dans le répertoire procmail-dir
  3. Passer le message à notre script python procmail_script.py
  4. Ignorer le message si le script s’est exécuté avec succès (le supprimer de la queue) ou le copier dans un répertoire  procmail-failed-dir en cas d’échec (pour que vous puissiez exécuter à nouveau ultérieurement par exemple)

4. Préparer un email et effectuer un test localement

Premièrement, créez un exemple de mail que vous allez utiliser dans un fichier appelé procmail_test.txt:

Ensuite, vous pouvez le tester en exécutant le process manuellement :

Maintenant, ouvrez le fichier /opt/mailAnalysis.log et vous devriez avoir quelque chose comme :

  • Feb 12 / 2018
  • 0
Linux

Executer cron un jour spécifique dans le mois (e.g. deuxième lundi)

Comment exécuter un cron sur un jour spécifique de la semaine une fois par mois ?

Ceci pourrait sembler simple au premier abord, puisque cette ligne pourrait semblait faire l’affaire :

Mais ceci ne marcherait pas car le ‘2’ pour vérifier que nous sommes bien un mardi vient comme une condition OR, et donc la commande pourrait s’exécuter du jour 8 au jour 14 et tous les mardis du mois.

Pour contourner cela, vous pouvez utiliser cette commande :

Voici l’explication de cette ligne de cron :

En effectuant cette vérification, nous vérifions alors d’abord que nous sommes bien un mardi avant d’exécuter la commande. N’oubliez pas d’ajouter un antislash avant le caractère ‘%’ pour l’échapper.

  • Dec 21 / 2017
  • 0
Linux

Contrôler les services sous Linux (systemV, systemd, initctl…)

Sous Linux, il existe diverses façons de contrôler les services qui peuvent être exécutés sur votre système. Voici les principaux systèmes d’initialisation que vous trouverez sur la plupart des distributions connues, selon leur version.

SystemV

Ce système est l’un des plus anciens et le plus utilisé/ Il contient ses scripts d’initialisation dans le répertoire /etc/init.d/

Pour lister les services disponibles, il suffit d’utiliser la commande :

Pour effectuer une action sur ces services, il vous faudra utiliser:

Upstart (initctl)

Upstart est un successeur des scripts SystemV. Il fonctionne de manière asynchrone, et ses scripts se trouvent dans /etc/init/

Pour lister les différents scripts disponibles, il suffit d’exécuter la commande :

Pour exécuter une action sur l’un des services, la commande est la suivante :

SystemD

Son nom SystemD indique System Daemon, et gère donc les démons qui peuvent s’exécuter sur un serveur. Il est le successeur de upstart et permet de gérer de manière bien plus souple les services.
Les scripts se trouvent ici dans le répertoire /etc/systemd/system/

Pour lister les services disponibles, vous pouvez utiliser:

Pour exécuter une action sur l’un des services, il faudra utiliser:

SupervisorD

Enfin, SupervisorD est une superviseur qui se concentre beaucoup plus sur les applications que sur le système et permet de gérer leur exécution de la même façon que l’on peut le faire avec les services système.

Pour afficher l’ensemble des applications contrôlées par SupervisorD :

Pour contrôler les processus, il faudra utiliser:

Pages :1234567...17
Question ? Contact