Quelques commandes SSH utiles

par Julien Achard | | Infogérance |
Quelques commandes SSH utiles

Bien loin de dire que je suis un spécialiste la dedans, je vais vous donner ici quelques commandes SSH utiles qui m’ont plusieurs fois dépannées. Il arrive malheureusement assez souvent que l’on ait une panne, un piratage ou tout simplement  un trop plein sur les disques de son serveur, et lorsque l’on est (comme moi) néophyte, on cherche assez souvent sur le net et on se lance assez « hasardeusement » dans le terminal. Voici donc quelques commandes SSH qui m’ont plusieurs fois aidées.

Déterminer l’espace disque restant

Liste les espaces disques
df -h

Cette simple commande vous permettra de connaitre par disque l’espace utilisé, une fois que vous avez déterminé quel disque est plein, il vous suffit ensuite de lancer une recherche dossier par dossier pour trouvé ce qui remplit votre disque :

Lister les poids des dossiers
du -h –max-depth=1

Il est également possible de trouver en une commande quels sont les fichiers dépassant un poids donné, voici la commande qui liste les fichier de plus de 1GO :

Liste les fichiers supérieurs à 1GO
find . -type f -size +100000k -printf "%p %s\n"

Assez souvent on se rend compte que ce qui remplit le serveur sont les sauvegardes de Plesk, qui avant d’envoyer sur un serveur distant, sont copiées et compressées sur le disque système. Le disque du système étant volontairement restreint, il se retrouve rapidement débordé. Avec ces commandes vous n’aurez donc aucun mal à identifier quels sont les dossier utilisés par Plesk et ainsi les déplacer vers un autre disque grâce à des alias.

Créer un alias d’un dossier vers un autre

Assez souvent, comme je l’explique au dessus, j’ai eu a créer des alias de dossier pour éviter que tout ce qui concerne les sauvegardes de Plesk n’utilise le disque système, voici donc la commande pour le faire :

Créer un alias
ln -s /mon/dossier/qui/existe /mon/alias

Trouver un fichier PHP corrompu par un hack

Alors, celle la m’a sauvé la vie de nombreuses fois, avec cette commande, il s’agit de réperer si un script de type eval ou base64 à été inséré dans un fichier PHP. Il faut donc commencer par se placer dans le dossier qui nous intéresse ( avec la commande cd ) et de lancer cette commande

Trouver un fichier PHP corrompu par un hack
find . -name "*.php" | xargs grep "eval("
find . -name "*.php" | xargs grep "base64_decode("

Arrêter/démarrer des services

Arrêter/démarrer des services

service httpd restart
service mysqld restart

Ici je ne donne l’exemple que pour mysql et apache, cette commande s’applique bien évidement a bons nombres de services.

Dump et restauration d’une base MySQL

Créer une sauvegarde de votre base
mysqldump -u [user] -p[password] [database] > /backup-$(date +%d%m%Y_%H%M).sql

Grâce à cette commande vous allez pouvoir rapidement créer une sauvegarde complète de votre base de donnée.

Restaurer la sauvegarde
mysql -u [user] -p[password] [dbase] < [chemin-de-votre-sauvegarde]

Et celle ci de la réintégrer. A manipuler avec précaution !

Modifier en masse les permissions (chown) et les propriétaires (chgroup) de fichiers

Modifier les permissions et propriétaires
chmod -R 777 /home/monsite
chown -R monsite:users /home/monsite

Ces commandes la vous permettront de modifier de manière récursive les permissions, notez le le paramètre -R qui permet de travailler de manière récursive. Il faut faire très attention quand on se sert de ces commandes, car on peut vite faire des bêtises !!

Comme vous pourrez le constater, ces commandes ne différencient pas les fichiers des dossiers, et on a souvent besoin de permissions différentes selon si il s’agit d’un fichier ou d’un dossier, voici donc l’équivalent pour la commande chmod en choisissant le type :

Changer les permissions selon le type
find . -type f -exec chmod 775 {} \;
find . -type d -exec chmod 644 {} \;

Ici j’attribue un chmod de 775 à tous les fichiers du dossier en cours, et un chmod de 644 à tous le dossiers. Encore une fois, testez avant d’appliquer sauvagement 😀

Voila pour les commandes SSH dont je me sers fréquemment, je reviendrai en rajouter de temps en temps si j’en découvre de nouvelles pour vous les faire partager ^^