Blackotine

Billets comportant le tag linux

4 notes

Convertir un fichier au format DOS en format UNIX

Si vous rencontrez l’erreur suivante “Sh/bin bad interpreter: No such file or directory” à l’exécution d’un script shell, c’est que le fichier est au format DOS au lieu du format UNIX.

Grâce à la commande od, qui permet de faire un dump au format octal, vous pouvez connaitre le format d’un fichier. Pour cela, il suffit d’exécuter la commande suivante :

head -1 monfichier.sh | od -c

Si en retour, en fin de ligne vous voyez \r  \n c’est que votre fichier est au format DOS. Pour un fichier au format UNIX \r n’apparait pas.

Pour le convertir vous pouvez utiliser la commande dos2unix :

dos2unix mon-fichier

On peut également convertir un fichier directement depuis l’éditeur vim, grâce à la commande suivante :

:set ff=unix

Classé dans dos linux format shell script

13 notes

Modifier l’emplacement des données d’un serveur MySQL

Il peut être intéressant de modifier l’emplacement par défaut du répertoire contenant les bases de données et tables MySQL. Cela peut-être pour faciliter des sauvegardes ou encore bénéficier d’un espace disque plus important. La procédure est plutôt simple et rapide. Nous allons utiliser les liens symboliques. Dans cet exemple, le nouvelle emplacement du répertoire sera /home/mysql/ Voici la liste des commandes à exécuter :

/etc/init.d/mysql stop

mv /var/lib/mysql /home/

ln -s /home/mysql/ /var/lib/mysql

chown mysql:mysql /home/mysql

chmod 777 /home/mysql

/etc/init.d/mysql start

Pour plus de logique , on peut également modifier le fichier de configuration de MySQL, même si, grâce aux liens symboliques, cela n’est pas nécessaire. Dans /etc/mysql/my.cnf :

[mysqld]

datadir = /home/mysql

Classé dans mysql linux

1 note

Supprimer en fonction de la date de modification

Grâce à find et l’option -ctime :
-ctime n : derniere modification du statut du fichier il y a n*24 heures.

Exemples :

Supprimer les fichiers modifiés il y a plus de 24 heures.

find . -ctime +1 -exec rm -f  \{\} \;

Supprimer les fichiers modifiés il y a plus de 10 jours.

find . -ctime +10 -exec rm -f  \{\} \;

Classé dans linux find

1 note

Rechercher / Remplacer

Dans un fichier

sed -i 's/ancienne-chaine/nouvelle-chaine/g' fichier

Dans tous les fichiers d’un répertoire

find . -type f -exec sed -i 's/ancienne-chaine/nouvelle-chaine/g' {} \;

Dans une base MySQL

UPDATE table SET champ = replace(champ, 'ancienne-chaine', 'nouvelle-chaine');

Classé dans linux mysql