DOCS/UNIX/Trucs et astuces

De MonPtitSite
Sauter à la navigation Sauter à la recherche


Accueil > I : Infos générales > II : Boîte à outils > III : Virtualisation > Utilisation du wiki >
Trucs, Astuces et FAQ

SSH

restriction d'accès pour une clé publique partagée

Il est possible de restreindre l'accès à un serveur qui dispose d'une clé publique partagée (authorized_keys). On peut donc n'autoriser l'utilisation de cette clé qu'à partir d'une liste d'adresses IP sources fixes. Il suffit d'ajouter

 from="liste IP,IP2,IP3 etc ..."

dans le fichier authorized_keys devant la clé publique concernée

cf https://blog.tinned-software.net/restrict-ssh-logins-using-ssh-keys-to-a-particular-ip-address

Optimiser Linux

Adapter vm.swap, vm.swappiness pour éviter des I/O Disk inutiles

 $ sudo sysctl -w vm.swappiness=0
 $ sudo echo 'vm.swappiness=0' >>  /etc/sysctl.conf
 $ sudo sysctl -p

Ce paramètre est notamment très utile pour prolonger la durée de vie d'un disque SSD .... car on évite ainsi beaucoup d'I/O liées aux transfert de pages de/vers la swap

pour plus d'infos, cf ce site lonesysadmin.net

OH MY GOD WE ARE OUT OF RAM .... NON pratiquement jamais sous UNIX !!!!

ce site est très instructif sur comment linux gère sa mémoire ..... : that-ram-usage-youre-seeing-its-filesystem-cache

La crontab

définir le dernier jour du mois

00 00 28-31 * * [ `/bin/date +\%d` -gt `/bin/date +\%d -d "1 day"` ] && echo "FIN DE MOIS...."


pour plus d'infos, cf ce site fr.wikipedia.org/wiki/Crontab

dont voici la copie ici :

Recettes de cuisine & commandes utiles

Comment dire à linux qu'un disque (LUN SAN) a changer de taille ?

la commande a lancer est :

 # blockdev --rereadpt /dev/sdx 
 (x = lettre associée au LUN)
 # dmesg 
 SCSI device sdc: drive cache: write back w/ FUA
 sdc: detected capacity change from 42949672960 to 214748364800
  sdc: sdc1
 SCSI device sdc: 419430400 512-byte hdwr sectors (214748 MB)
 sdc: Write Protect is off
 sdc: Mode Sense: a5 00 10 08
 # fdisk -l /dev/sdx
 Disk /dev/sdx: 214.7 GB, 214748364800 bytes
 255 heads, 63 sectors/track, 26108 cylinders
 Units = cylinders of 16065 * 512 = 8225280 bytes
  Device Boot      Start         End      Blocks   Id  System
 /dev/sdc1               1       26108   209712478+  8e  Linux LVM


Puis, il faut rescanner les chemins, soit avec en lancant simplement multipath soit en utilisant le démon multipathd

 # multipathd -k"resize multipath mpathX"

Comment zipper (ou traiter) un ensemble de fichiers contenant des caractères blancs dans le nom ?

la commande magique :

  find <nom rép>  -name '*.pdf' -print | sed "s/'/\\\'/g" | xargs -I "{}" zip -9m "{}".zip "{}"

que fait cette commande ?

elle recherche à partir d'un répertoire donné tous les fichiers PDF, affiche leurs noms, protège le caractère ' ' s'il y a lieu et ZIP le fichier en compression maximale

petite variante :

 find . -mtime +365 -name '*.pdf' -print | sed "s/'/\\\'/g" | xargs -I "{}" zip -9m "{}".zip "{}"

idem que précédemment, mais ne prend que les fichiers modifiés il y à plus d'un an à partir du répertoire courant

Comment supprimer les sous dossiers vides d'un répertoire

  find /symlnks/io/jobs/workflows/wkftwist -depth -mindepth 2 -type d -empty  -mtime +1  -print  | xargs rmdir

recherche tous les sous dossiers (-type d ) vides (-empty) modifiés il y a plus d'un jour (-mtime +1) en ne prenant en compte qu'à partir du 2è niveau (-depth -mindepth 2)

Commande equivalente à un "tree size" par répertoire

ex : trouver la taille des dossiers .trash" de MisTRAL

 du -k `find /mnt/nfsshare/6.0/MiSTRAL/raid -maxdepth 2 -name '*.trash' -type d  ` | perl -ni -e '$i += $_ ; END {printf "%.02f Mo" , $i/1024/1024 ."\n"}'

Libération du répertoire c:\Windows\winsxs sous windows 2008 R2 server (utilisé pour MAJ système)

  • commande à lancer dans une fenêtre "DOS" :
 c:\> dism /online /cleanup-image /spsuperseded


VMWare

lignes de commandes utiles

  • Intégrer un ESX dans la config vma :
 [vi-admin@vma ~] $ vifp addserver [nom_esx]
  • se placer dans l'environement d'un ESX donné :
 [vi-admin@vma ~] $ vifptarget -s [nom_esx | vcenter]
 
  • sur la vma, ajouter un ESX au syslog :
 [vi-admin@vma ~] $ vilogger  enable --server [nom_esx].wkf.net.local --numrotation 5  --maxfilesize 10 --collectionperiod 60
Puis vérifier dans /var/log/syslog la création du répertoire /var/log/syslog/nom_esx
  • Eteindre une VM en ligne de commande

sur cerbere2 (ou sur un poste où est installé le SDK Perl de VMWare), exécuter la commande :

[root@cerbere2 ~]# /usr/lib/vmware-vcli/apps/vm/vmcontrol.pl  --server vcenter (ou ESX) --username admin-xxxxx (ou root) --password VerySecret --vmname vs-nom  --operation  [ poweron, poweroff, suspend, reset, reboot, shutdown, standby ]

pour + d'info, taper : /usr/lib/vmware-vcli/apps/vm/vmcontrol.pl --help

  • Avoir la liste de toutes les VMs
[root@cerbere2 ~]# /usr/lib/vmware-vcli/apps/vm/vminfo.pl --server vcenter --username admin-xxxxx (ou root) --password VerySecret