Quelques astuces diverses, quatrième

closeCet article a été publié il y a 7 ans 2 mois 27 jours, il est donc possible qu’il ne soit plus à jour. Les informations proposées sont donc peut-être expirées.

Eh oui, déjà le quatrième épisode de ces astuces en vrac (ah non, en vrac, ce sont les liens), de celles qui n’ont pas nécessairement besoin d’un article dédié. On en trouve des petites conneries à faire dans plein de domaines, c’est ça que j’aime bien dans l’informatique.

Empêcher Nginx de rajouter le port quand on redirige une URI vers une autre URI

Quand votre serveur Nginx est derrière un autre proxy comme Varnish ou HAproxy, il est nécessaire de le faire écouter sur un autre port que le 80/443 s’il se trouve sur la même machine. Hors, si vos règles de redirections ne contiennent que des URIs (et pas des URLs, qui indiquent explicitement ou implicitement le port), il va par défaut rajouter le port sur lequel lui écoute, ce qui va évidemment poser des problèmes. Il suffit donc de rajouter la ligne suivante dans votre fichier de configuration :

Afficher/surveiller les stats memcache

Pour vérifier le taux d’utilisation de votre instance Memcache, vous pouvez envoyer des commandes par telnet ou en l’occurrence netcat au port d’écoute. En combinant avec l’utilitaire watch, on peut afficher les statistiques rafraîchies en temps réel :

Modifier à la volée un paramètre php (CLI)

Parfois, pour vérifier qu’un paramètre pose problème dans votre fichier de configuration de PHP, vous pouvez tester, en ligne de commande, en modifiant à la volée le paramètre (pour éviter d’impacter le reste du fonctionnement de vos sites si vous avez un fichier commun à tout le monde) :

Désactiver les demandes de notifications dans Firefox

J’ai expliqué comment désactiver les demandes de géolocalisation, si les notifications vous répugnent aussi, vous pouvez les désactiver globalement, dans about:config :

Vous le passez à false, et voilà. A part qu’après avoir testé, ça fait déconner la version Web de Twitter, alors vous êtes prévenu.

Créer une archive tar.gz au travers d’SSH avec une barre de progression

Cela évite de créer l’archive sur la machine distante avant de la copier (pratique quand on manque de place), et avec une barre de progression, c’est badass :

Le -s 1G, c’est la taille du dossier, sinon pv n’affiche pas le pourcentage ni le temps restant estimé, seulement la taille transférée, car il ne peut pas la calculer dans le cas présent. Attention, ici avec la compression ça peut s’arrêter avant les 100%, pas de panique. Au pire vous testez l’archive reçue si vous avez peur.

Vérifier la liste des plugins activés dans WordPress

J’ai eu à traiter une erreur fatale sur un WordPress dont le thème dépendait d’un plugin qui s’est avéré être désactivé. Pour vérifier la liste quand on a pas accès au backoffice mais qu’on a accès à la BDD, une seule requête suffit (pas la peine d’en rajouter) :

Et si vous avez un a:0:{} comme valeur, vous avez un gros problème.

Faire un diff de fichier au travers d’SSH

J’ai eu un doute sur la liste de fichiers à livrer fournie par un client entre sa plateforme de recette et son site de production. Pour comparer le fichier qui m’intriguait, j’ai procédé de cette façon :

Dans mon cas, la seule différence était des lignes vides, étrange mais pas grave, ouf.

Importer un dump MySQL/MariaDB au travers d’SSH en une seule commande

Lors de la migration des données d’un client vers la nouvelle machine, vous avez rsync pour les fichiers, mais pas pour les bases. Dans ce cas, vous pouvez passer par mysqldump au travers d’SSH, et injecter directement, le tout en une seule ligne :

Valider la syntaxe YAML d’un playbook Ansible avant de l’exécuter

Le YAML c’est sympa, Ansible c’est le pied, mais quand vous avez du mal à faire fonctionner les deux ensemble, vous pouvez tomber sur un laconique « ERROR! Syntax Error while loading YAML. » Sans plus de détails. Depuis peu, j’utilise yamllint qui permet de faire du check de configuration et d’indiquer clairement les erreurs de syntaxe (la plus courante étant l’indentation je pense). Exemple :

C’est pas mieux comme ça ?

Lancer des commandes bash depuis l’invite de commandes MySQL

Ça arrive parfois : on veut vérifier un truc côté OS alors qu’on est dans une session MySQL (genre le chemin d’un fichier à sourcer). On a alors le choix : sortir de la session, ça peut vite s’avérer chiant, ouvrir une deuxième console en parallèle. Et puis il y a la dernière solution, plus intéressante, de lancer directement des commandes depuis le shell MySQL :

On peut même relancer une instance de bash, dès qu’on en sort on revient automatiquement dans MySQL. C’est pas cool ça ?

Allez, c’est tout pour aujourd’hui, si j’en trouve d’autres des petites astuces vous aurez droit à un nouveau numéro. Nul doute que ça arrivera 🙂

5 Commentaires
Le plus ancien
Le plus récent
Commentaires en ligne
Afficher tous les commentaires
Nobo
Nobo
29/01/2017 11:01

Merci pour « Désactiver les demandes de notifications dans Firefox ». Effectivement, les notifications ont fortement tendance à me répugner. Bon dimanche !

Cascador
29/01/2017 18:11

Bravo et merci pour ces excellentes astuces !

Tcho !

Teh
Teh
31/01/2017 11:25

Merci pour le yamllint ! Je ne connaissais pas et ça va intégrer mon UDD 😀

alkahan
alkahan
05/02/2017 11:04

Pour tester les règles ansible il existe l’utilitaire ansible-lint https://github.com/willthames/ansible-lint qui permet de vérifier également l’usage des bonnes pratiques.

Jules
02/09/2018 09:21

Sortir pour juste une commande de MySQL. Ma journée refaite, merci 🙂