Articles portant le tag ‘bash’

Recherche de fichiers sous linux

Testé sur Ubuntu 10.04

Un petit mémo sur les recherches de fichiers en ligne de commande sous Linux avec find et grep.

Pour tous les exemples de find j’utilise l’option -exec qui permet d’appliquer une autre commande (ls, rm, etc…) aux résultats de la recherche. La chaîne "{}" sera remplacée par le nom du fichier, \; termine la commande.

Recherche de fichiers et répertoires sur le nom

Lister les fichiers dont le nom est « toto » à partir du répertoire courant :

find . -name "toto" -exec ls -lh "{}" \;

Pour ce type de recherche simple il ne faut pas oublier la commande locate, très rapide car elle va lire une base d’indexation au lieu de parcourir l’arborescence des répertoires. Par contre les fichiers trop récents ne seront pas forcément indexés. La commande suivante recherche tous les fichiers dont le chemin contient « toto » :

locate toto

Pour faire une recherche insensible à la casse on utilise -iname à la place de -name :

find . -iname "toto" -exec ls -lh "{}" \;

Lister les fichiers dont l’extension est « .log » à partir du répertoire courant :

find . -name "*.log" -exec ls -lh "{}" \;

Lister les répertoires dont le nom est « toto » à partir du répertoire courant :

find . -name "toto" -type d -exec ls -d "{}" \;

Lister les répertoires dont le chemin contient « /local/bin » à partir du répertoire courant :

find . -wholename "*/local/bin*" -type d -exec ls -d "{}" \;

On peut combiner les critères avec les opérateurs -a pour et, -o pour ou et ! pour la négation.

Lister les répertoires dont le nom est « toto » qui ne sont pas un sous-répertoire de « /scripts/bash »

find . \( -name "toto" -a ! -wholename "*/scripts/bash/*" \) -exec ls -d "{}" \;

Lire la suite »

Script de sauvegarde des bases MySQL locales par mysqldump

Testé sur Debian 5.0

Un script bash basique pour faire un dump individuel de chaque base du serveur local avec mysqldump, y compris information_schema. En fin de script, un dump global est réalisé, et un rapport est envoyé. Associé à une tache cron et à un backup distant avec rsnapshot ça permet de faire des sauvegardes historisées des bases MySQL d’un serveur.
Lire la suite »

Dump des privilèges MySQL

Testé sur Debian 5.0

Une petite fonction Bash bien pratique trouvée ici (un grand merci à l’auteur) qui permet d’afficher les privilèges utilisateurs d’un serveur MySQL. Très utile pour transférer les utilisateurs et leurs droits d’un serveur à l’autre.

Voici la fonction, à mettre dans son ~/.bash_aliases ou ~/.bashrc :

Lire la suite »

Redimensionner une image disque VMware avec vmware-vdiskmanager

Testé sur Ubuntu 8.04 LTS, VMware Server 1.05, Image Vista 32bits

Il y a plusieurs méthodes pour redimensionner un disque virtuel VMware. On peut utiliser VMware Converter (la version de base est gratuite) mais à priori il ne fonctionne pas avec les images Vista et c’était justement celle que je voulais agrandir.

J’ai utilisé vmware-vdiskmanager, qui est un outil fourni avec VMware Server, et sans doute avec d’autres versions de VMware.

Lire la suite »