Sélectionner une page

Post-it : Commandes serveur linux

Comme tout le monde, lorsque l’on gère des serveurs pour nos sites internet, nous arrivons parfois dans certaines situation où l’ont a besoin de faire une commande linux, mais on ne se souvient plus comment elle est construite ou tout simplement on ne la connait pas.

Ici j’ai donc répertorié la plupart des commandes « récurrente » et utiles dont on peut en avoir besoin.

Si vous en avez d’autres intéressante, poster en commentaire !

 

Afficher la taille des disks du serveur

df -h

OU installer et utiliser :

ncdu

Afficher la taille des dossiers de logs des vhosts Plesk (centOs)

du -sh /var/www/vhosts/*/statistics/logs/

Afficher les requêtes SQL exécutées sur le serveur

Installer mytop et taper la commande :

mytop -uadmin -p`cat /etc/psa/.psa.shadow`

Afficher tous les login / passwd FTP des hébergement plesk

En root :

On se connecte sur le SQL Plesk :

mysql -uadmin -p`cat /etc/psa/.psa.shadow` psa

On exécute la requête suivante :

SELECT REPLACE(sys_users.home,'/home/httpd/vhosts/','') AS domain,
sys_users.login,accounts.password FROM sys_users
LEFT JOIN accounts on sys_users.account_id=accounts.id
ORDER BY sys_users.home ASC;

Afficher tous les login / passwd SQL des hébergement plesk

En root :

On se connecte sur le SQL Plesk :

mysql -uadmin -p`cat /etc/psa/.psa.shadow` psa

On exécute la requête suivante :

SELECT domains.name AS domain_name,
data_bases.name AS database_name, db_users.login, accounts.password
FROM data_bases, db_users, domains, accounts
WHERE data_bases.dom_id = domains.id
AND db_users.db_id = data_bases.id
AND db_users.account_id = accounts.id
ORDER BY domain_name;

Afficher les infos du trafic réseau serveur

iftop

Afficher les infos entrée / sortie disk serveur

iotop

Mettre à jour les permissions par Default CHMOD Fichier & Dossier

Pour les dossiers :

find /var/www/vhosts/httpdocs -type d -exec chmod 755 {} \;

Pour les fichiers :

find /var/www/vhosts/httpdocs -type f -exec chmod 644 {} \;

Modification des Couleurs de l’éditeur VIM

locate vimrc
vim /pathto/vimrc

Ajouter :

syntax on

colorscheme desert

Modification du port SSH

Après connexion SSH, taper la commande :

vim /etc/ssh/sshd_config

Décommenter et modifier la ligne « Port »

Puis redémarrer le service :

/etc/init.d/sshd restart

LFTP : transfert de fichiers

Transfert ftp local vers ftp distant

lftp -u login,pass -e 'mirror --reverse /var/www/vhosts/website.fr/httpdocs /web/www/website-new' ftp5.host.net

WGET : transfert de fichier via FTP

Lorsque LFTP n’est pas dispo, wget est là!

wget -r -nH --cut-dirs=5 -nc --level=8 ftp://user:pass@server//absolute/path/to/directory

Notez le double slash après le nom du serveur. Si je ne mets pas de slash supplémentaire, le chemin est relatif au répertoire personnel de l’utilisateur.
-nH évite la création d’un répertoire nommé après le nom du serveur
-nc évite de créer un nouveau fichier s’il existe déjà sur la destination (il est simplement ignoré).
–cut-dirs=5 me permet de prendre le contenu de /absolute/path/to/répertoire et de le mettre dans le répertoire où je lance wget. Le nombre 5 est utilisé pour filtrer les 5 composants du chemin. Le double slash signifie un composant supplémentaire.

Mettre en pause une commande et le réexécuter en background

Lorsque que la commande est déjà exécuté faire :

[CTRL-Z]

puis

bg

Faire un MySQL Dump

Avec Plesk :

mysqldump -lv -uadmin -p`cat /etc/psa/.psa.shadow` dbname > mysqlbackup.sql

Sinon :

mysqldump --opt -u [user_name] -p[password] [database_name] > [backup_file].sql

Faire un MySQL Restore

Avec Plesk :

mysql -uadmin -p`cat /etc/psa/.psa.shadow` -D dbname < /var/backup/linux/site.com/mysqlbackup.sql

Sinon :

mysql -u [user_name] -p[password] [database_name] < dumpfilename.sql

Commandes utiles Postfix

postqueue -p //postqueue -p is the same as mailq

service postfix reload //reload config

service postfix restart //restart postfix server

postconf mail_version //View the postfix version

postconf -d //Show default postfix values

postconf -n //Show non default postfix values

mailq //list mail queue and MAIL_ID's, list mail queue

postqueue -p //list mail queue and MAIL_ID's, list mail queue

postfix flush // flush mail queue

postqueue -f //process the queue now

postcat -q MAIL_ID //read email from mail queue

postsuper -d MAIL_ID //To remove MAIL_ID mail from the queue

postsuper -d ALL //To remove all mail from the queue

postsuper -d ALL deferred //To remove all mails in the deferred queue

postqueue -p | awk '/^[0-9,A-F]/ {print $7}' | sort | uniq -c | sort -n //sort and count emails by "from address"

postqueue -p | grep '^[A-Z0-9]'|grep [email protected]|cut -f1 -d' ' |tr -d \*|postsuper -d - //removing all emails sent by: [email protected]

postqueue -p | awk '/^[0-9,A-F].* / {print $1}' | tr -d \* | while read id; do postcat -q "$id" | grep "^Subject: Undelivered Mail Returned to Sender" > /dev/null && echo $id; done | postsuper -d - // supprime selon le sujet

postqueue -p | awk '/^[0-9,A-F].*[email protected] / {print $1}' | cut -d '!' -f 1 | postsuper -d - //remove all email sent from [email protected]

To delete all messages from the queue by a certain user:

for i in `postqueue -p | grep [email protected] | awk '{print $1}' | grep -v host | grep -v \*`; do postsuper -d $i; done

postqueue -p | grep '^[A-Z0-9]'|grep @adminlogs.info|cut -f1 -d' ' |tr -d \*|postsuper -d - //remove all email sent by domain adminlogs.info

postqueue -p | tail -n 1 //Mail queue stats short

postqueue -p | grep -c "^[A-Z0-9]" //number of emails in Mail queue

tail -f /var/log/maillog //watch logs live

Plesk : redémarrer le service plesk

/etc/init.d/sw-cp-server restart

Transfert de fichiers et dossiers avec Rsync

Source => Destination

rsync -apzv --progress -e 'ssh -p 4444' /var/www/vhosts/old.fr/httpdocs/. [email protected]:/var/www/vhosts/new.fr/httpdocs/.

Renommer en minuscule (tolowercase) les extensions de fichiers

find . -name '*.*' -exec sh -c ' a=$(echo {} | sed -r "s/([^.]*)\$/\L\1/"); [ "$a" != "{}" ] && mv "{}" "$a" ' \;

Supprimer tous les fichiers contenant un nom spécifique

find . -name 'xxxx.php*' -exec rm {} \;

VIM SEARCH & REPLACE – Rechercher et remplacer sur VIM

Chercher « foo » et remplacer par « bar » dans tout le fichier :

:%s/foo/bar/g

 

0 commentaires

Soumettre un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *