Tips & Tricks

Commandes et astuces Linux :


Supprimer les fichiers  les plus vieux (de 30 jours)

find * -mtime +30 -exec rm -rf {} \; 2>/dev/null

Supprimer tous les dossiers avec l'extension ".svn"

find . -name .svn -print0 | xargs -0 rm -rf

Supprimer tous le contenue d'un répertoire sauf les fichier .log

rm !(*.log)

Création de users + password (script)


passwd="VOTRE-PASSWD"
crypt=`perl -e 'print crypt("$passwd", "password"),"\n"'`
useradd --shell /bin/false --gid VOTRE-GROUP --home-dir "SON-HOME-DIR" --password $crypt LE-USER

Supprimer toutes les lignes vides d'un fichier avec l'éditeur  VI

:g/^$/d

Tester le débit maximum de son serveur GNU/Linux

wget http://test-debit.free.fr/16384.rnd -O /dev/null
PS : Sur le site WEB test-debit.free.fr d'autre taille de paquet sont disponible.

Supprimer le bipe sonore du Système sur OS Linux

rmmod pcspkr

Activer le routage sous Linux


  • Dynamiquement (disparait au reboot) :
echo 1 > /proc/sys/net/ipv4/ip_forward
  • Persistant (définitif) :
vi /etc/sysctl.conf
Décommenter :
net.ipv4.ip_forward=1

Ne visualiser que les lignes non-commentées d'un fichier de configuration

grep -E -v '^(#|$)'  /etc/squid/squid.conf

Réparer les tables Mysql

mysqlcheck --repair --all-databases -v -p

Changer le password du root Mysql

mysqladmin -u root -p'OLDPASSWD' password 'NEWPASSWD'

Requêter sur un annuaire LDAP

ldapsearch -b "CN=Users,DC=test,DC=local" -H ldap://dc1.test.local:389 -D 'administrateur' -w 'Pa$$w0rd'

Utilisation de SED

  • Supprimer tout le reste de la ligne après le motif ”:”:
sed "s/:.*$//"

Donner le privilège ALTER VIEW sous MySQL

  • Donner le privilège SUPER:

grant SUPER on *.* to 'user'@'IP' identified by 'password';
  • Donner le droit de création de vue:
grant CREATE VIEW on *.* to 'user'@'IP' identified by 'password';
  • Check permissions:
mysql -Bse 'SELECT * FROM `information_schema`.`USER_PRIVILEGES`;' | grep "CREATE VIEW"

Donner le privilège SHOW CREATE PROCEDURE sous MySQL

  • Donner les privilèges d'insertion, modif, suppression et exécution sur la bdd:
GRANT SELECT,INSERT,UPDATE,DELETE,EXECUTE ON BDD.* to 'user'@'IP' identified by 'password';
  • Donner un droit spécifique requis sur la table proc de la bdd mysql:
GRANT SELECT ON mysql.proc to 'user'@'IP';

Réaliser une addtion sur une colonne avec AWK

ps -u www-data -o user,size | sed 1d | awk '{ SUM += $2 } END { print $1" " SUM }'

Afficher le timestamp de la commande dmesg

dmesg|perl -ne 'BEGIN{$a= time()- qx!cat /proc/uptime!};s/\[(\d+)\.\d+\]/localtime($1 + $a)/e; print $_;'

Détruire un système de fichiers *nix


shred -n 50 -z -v /dev/sdaX

Visualiser le type de moteur MySQL pour une BDD

SELECT table_schema, table_name, engine FROM INFORMATION_SCHEMA.TABLES where table_schema like "BDD";

Synchro via rsync en SSH sur un port différent

rsync -avz $SOURCE -e 'ssh -p $PORT' $DEST

Debug des process PHP-FPM

strace `ps -ef | grep php-fpm | grep -v "grep" | awk '{print "-p" $2}' | xargs`

Afficher les requêtes HTTP entrantes avec TCPDUMP selon le type

  • POST
tcpdump -s 0 -A 'tcp dst port 80 and (tcp[((tcp[12:1] & 0xf0) >> 2):4] = 0x504f5354)'
  • GET
tcpdump -s 0 -A 'tcp[((tcp[12:1] & 0xf0) >> 2):4] = 0x47455420'

MYSQL: gestion des logs à chaud

  • Dans le shell MySQL :
show variables where Variable_name like "%log%";
SET GLOBAL general_log="ON";
  • Désactiver :
SET GLOBAL general_log="OFF";

SED: afficher un intervalle entre 2 motifs

sed -n '/MOTIF1/,/MOTIF2/{//d;p}' dump.sql





Posts les plus consultés de ce blog

Guide pas à pas de la gestion de l’impression dans Windows Server 2008