DOCS/UNIX/Trucs et astuces : Différence entre versions
(Page créée avec « {{Header|Trucs et Astuces et |FAQs}} {{FOND_BLEU|Trucs, Astuces et FAQ}} =SSH= ==restriction d'accès pour une clé publique partagée== Il est possible de restreindre… ») |
|||
Ligne 15 : | Ligne 15 : | ||
=Optimiser Linux= | =Optimiser Linux= | ||
− | ==Adapter vm. | + | ==Adapter vm.swap, vm.swappiness pour éviter des I/O Disk inutiles== |
$ sudo sysctl -w vm.swappiness=0 | $ sudo sysctl -w vm.swappiness=0 |
Version du 5 mai 2020 à 12:29
Sommaire
- 1 SSH
- 2 Optimiser Linux
- 3 La crontab
- 4 Recettes de cuisine & commandes utiles
- 4.1 Comment dire à linux qu'un disque (LUN SAN) a changer de taille ?
- 4.2 Comment zipper (ou traiter) un ensemble de fichiers contenant des caractères blancs dans le nom ?
- 4.3 Comment supprimer les sous dossiers vides d'un répertoire
- 4.4 Commande equivalente à un "tree size" par répertoire
- 4.5 Libération du répertoire c:\Windows\winsxs sous windows 2008 R2 server (utilisé pour MAJ système)
- 4.6 VMWare
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