Archives de catégorie : unix

ansible recipes

Here are some small ansible playbooks snippets

run a command only if a file exists

The command and shell module care about return codes, so if you have a command whose successful exit code is not zero

Handlers are lists of tasks, not really any different from regular tasks, that are referenced by a globally unique name, and are notified by notifiers. If nothing notifies a handler, it will not run.

 

Here is how to copy some files (remote to remote) :

(the copy module does not support recursion on remote_src )

 

un robot avec un raspberry pi

Voici un ancien projet de robot qui évite les obstacles, piloté par un raspberry pi.

Entièrement fait maison (ça se voit :p), il n’est pas très bien finit, car la partie hardware a été bien plus laborieuse que prévu.

Le détecteur d’obstacle est infra-rouge avec une sensibilité à 30 cm.

J’aurais certainement dû commander un « kit de branchement » avec les fils déjà prêt pour la connexion des pins sur les gpios. Voir même un châssis complet, comme on en trouve partout sur ebay.

Cela aurait permis d’achever plus vite la partie mécanique qui n’est pas la plus intéressante à mes yeux, et de libérer plus de temps pour la partie dev, bref.

Niveau soft c’est assez rudimentaire aussi :

Un script d’initialisation des gpios fait en bash:

Et la partie pilotage manuelle & auto faite en perl.

Le python ne m’intéresse pas vraiment, et mon niveau en C, ne me permet pas de faire celà dans des délais raisonnables.

et la lib :

Quelques photos :

mettre un haproxy en front d’apache

Il peu160x160-haproxy_logot être très pratique de mettre haproxy en front d’un apache/nginx.

Que ce soit pour nettoyer les requêtes HTTP mal-formées,
pour définir des ACLS,
Ou en temps que load balancer seulement.

Simple proxy:

Création du nouveau backend/frontend:

 

Plutôt que de changer le port sur lequel bind le serveur http, il peut être plus facile de
faire une règle de NAT avec iptables. exemple de configuration :

Maintenant HAproxy écoute en front du serveur http.

A suivre …

les limites de awk

Afficher un champ en, le substituant en une fois :

stat=Sent ,tBL8MUC5026728

affichera alors :

tBL8MUC5026728

 

 

Afficher un/des champs si une valeur est supérieure inférieure :

print les champs 1 et 5 si $5 plus grand que 90.

 

Afficher la somme des champs de la colonne 4:

 

Exécuter une commande directement dans awk:

fais une résolution DNS sur le champs $NF

 

Pattern matching et subsitution :

le basic du pattern mathing // avant les {}

 

Field separator :

équivalent à cut -d:  -f2