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
1 | df -h |
OU installer et utiliser :
1 | ncdu |
Afficher la taille des dossiers de logs des vhosts Plesk (centOs)
1 | du -sh /var/www/vhosts/*/statistics/logs/ |
Afficher les requêtes SQL exécutées sur le serveur
Installer mytop et taper la commande :
1 | 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 :
1 | mysql -uadmin -p`cat /etc/psa/.psa.shadow` psa |
On exécute la requête suivante :
1 2 3 4 | 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 :
1 | mysql -uadmin -p`cat /etc/psa/.psa.shadow` psa |
On exécute la requête suivante :
1 2 3 4 5 6 7 | 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
1 | iftop |
Afficher les infos entrée / sortie disk serveur
1 | iotop |
Mettre à jour les permissions par Default CHMOD Fichier & Dossier
Pour les dossiers :
1 | find /var/www/vhosts/httpdocs -type d -exec chmod 755 {} \; |
Pour les fichiers :
1 | find /var/www/vhosts/httpdocs -type f -exec chmod 644 {} \; |
Modification des Couleurs de l’éditeur VIM
1 2 | locate vimrc vim /<strong>pathto</strong>/vimrc |
Ajouter :
1 2 3 | syntax on colorscheme desert |
Modification du port SSH
Après connexion SSH, taper la commande :
1 | vim /etc/ssh/sshd_config |
Décommenter et modifier la ligne « Port »
Puis redémarrer le service :
1 | /etc/init.d/sshd restart |
LFTP : transfert de fichiers
Transfert ftp local vers ftp distant
1 | 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à!
1 | 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
1 | bg |
Faire un MySQL Dump
Avec Plesk :
1 | mysqldump -lv -uadmin -p`cat /etc/psa/.psa.shadow` dbname > mysqlbackup.sql |
Sinon :
1 | mysqldump --opt -u [user_name] -p[password] [database_name] > [backup_file].sql |
Faire un MySQL Restore
Avec Plesk :
1 | mysql -uadmin -p`cat /etc/psa/.psa.shadow` -D dbname < /var/backup/linux/site.com/mysqlbackup.sql |
Sinon :
1 | mysql -u [user_name] -p[password] [database_name] < dumpfilename.sql |
Commandes utiles Postfix
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 | 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 user@adminlogs.info|cut -f1 -d' ' |tr -d \*|postsuper -d - //removing all emails sent by: user@adminlogs.info 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].*user@adminlogs.info / {print $1}' | cut -d '!' -f 1 | postsuper -d - //remove all email sent from user@adminlogs.info To delete all messages from the queue by a certain user: for i in `postqueue -p | grep user@domain.com | 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
1 | /etc/init.d/sw-cp-server restart |
Transfert de fichiers et dossiers avec Rsync
Source => Destination
1 | rsync -apzv --progress -e 'ssh -p 4444' /var/www/vhosts/old.fr/httpdocs/. root@server.net:/var/www/vhosts/new.fr/httpdocs/. |
Renommer en minuscule (tolowercase) les extensions de fichiers
1 | find . -name '*.*' -exec sh -c ' a=$(echo {} | sed -r "s/([^.]*)\$/\L\1/"); [ "$a" != "{}" ] && mv "{}" "$a" ' \; |
Supprimer tous les fichiers contenant un nom spécifique
1 | find . -name 'xxxx.php*' -exec rm {} \; |
VIM SEARCH & REPLACE – Rechercher et remplacer sur VIM
Chercher « foo » et remplacer par « bar » dans tout le fichier :
1 | :%s/foo/bar/g |
Leave A Comment?