Linux

Wget

Wget

Mémo utile pour wget

Une commande pour donner les bons droits à plusieurs dossiers

wget \
     --recursive \
     --no-clobber \
     --page-requisites \
     --html-extension \
     --convert-links \
     --domains dryusdan.fr \
     --no-parent \
     -e robots=off \
         https://www.dryusdan.fr

--no-clobber permet de ne pas télécharger le fichier plusieurs foit en rajoutant un .1 à la fin du nom de ce dernier.
--recursive permet de suivre les liens et de télécharger leurs contenu
--page-requisites Cette option permet à Wget de télécharger tous les fichiers nécessaires pour afficher correctement une page HTML donnée (css, images...).
--convert-links Une fois le téléchargement terminé, convertissez les liens dans le document pour qu'ils puissent être visionnés localement.
--domains permet de ne pas télécharger des pages présentes sur un autre domaine.
--no-parent ne permet pas de remonter plus haut que le lien donnée.
-e robots=off désactive la lecture du robots.txt.

NAT

Rédaction en cours

iptables -t nat -A PREROUTING -d public.ip -p tcp --dport 4444 -j DNAT --to inthost1:12345
iptables -t nat -A PREROUTING -d public.ip -p tcp --dport 5555 -j DNAT --to inthost2:12345
iptables -t nat -A POSTROUTING -s 192.168.0.0/24 -d inthost1 -p tcp --dport 12345 -j MASQUERADE
iptables -t nat -A POSTROUTING -s 192.168.0.0/24 -d inthost2 -p tcp --dport 12345 -j MASQUERADE

Mémo

!!! info Je trierai ça un jour ou l'autre

Commande utile

Une commande pour arrêter brutalement un programme sur Linux

kill `ps -aux | grep software | awk '{print $2}'`

Une commande pour donner les bons droits à plusieurs dossiers

find /chemin/vers/ton/dossier -type d -exec chmod 755 {} \;

Une commande pour donner les bons droits à plusieurs fichiers

find /chemin/vers/ton/dossier -type f -exec chmod 644 {} \;

Faire un bon chroot :

mount /dev/sda1 /mnt
mkdir /mnt/{dev,sys,proc}
mount -o bind /dev/ /mnt/dev
mount -o bind /sys/ /mnt/sys
mount -o bind /proc/ /mnt/proc
chroot /mnt

Réparer des inodes sans spammer y :

e2fsck -vtty device

ou

e2fsck-static -vtty device

Nettoyer ses fichiers logs archivé

for f in saved/*; do
  zcat $f | sed  '/GET/d' | sed '/OPTION/d' | sed '/HEAD/d' | gzip > "saved/$f"
done

Créer un utilisateur pgsql

CREATE DATABASE yourdbname;
CREATE USER youruser WITH ENCRYPTED PASSWORD 'yourpass';
GRANT ALL PRIVILEGES ON DATABASE yourdbname TO youruser;

Supprimer un "host" dans le stack TICK sur influxdb

$ influx -host 'localhost' -port '8086' -database 'telegraf' -username 'tick' -password 'password'
> DROP SERIES WHERE host = 'host'

Augmenter l'espace disque d'une machine avec des disques chiffré

lvextend -L+4G /dev/vg-srv/lv-root 
cryptsetup resize /dev/mapper/vg--srv-lv--root_crypt
resize2fs /dev/mapper/vg--srv-lv--root_crypt 

Les droits

Les droits

Réatribuer les bons droits

Une commande pour donner les bons droits à plusieurs dossiers

find /chemin/vers/ton/dossier -type d -exec chmod 755 {} \;

Une commande pour donner les bons droits à plusieurs fichiers

find /chemin/vers/ton/dossier -type f -exec chmod 644 {} \;

Hyperviseur et machine virtuelle

Hyperviseur et machine virtuelle

Redimensionner l'espace disque d'une machine virtuelle à chaud

Description

Parmis de nombreux avantages d'utiliser des machines virtuelles plutôt que des machines physiques, l'un d'eux est l'augmentation de l'espace disque sans avoir besoin d'aller dans le datacenter pour ajouter un disque.
Dans ce wiki, nous allons voir comment redimissionner

Prérequis

Debian 9 minimum
Dans ce tutoriel la machine utilise LVM.
L'augmentation du disque est effectué dans Proxmox. Cela fonctionne aussi avec VMWare et Xen, mais n'a pas été testé sans LVM.

Et action

LVM a plusieurs bonnes caractéristiques intégrées, mais dans notre cas, la principale caractéristique qui suscitera notre intérêt est le redimensionnement à chaud.

Pour afficher l'espace disque j'utilise la commande lsblk qui affiche correctement l'espace disque utilisezr par disque et par partition.

root@app-1 ~ # lsblk 
NAME                  MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
sda                     8:0    0   30G  0 disk 
├─sda1                  8:1    0  243M  0 part /boot
├─sda2                  8:2    0    1K  0 part 
└─sda5                  8:5    0 29.8G  0 part 
  └─template--vg-root 254:0    0 29.8G  0 lvm  /
sr0                    11:0    1    4M  0 rom  
sr1                    11:1    1 1024M  0 rom  

Et après une petite augmentation de 10Go :

root@app-1 ~ # lsblk 
NAME                  MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
sda                     8:0    0   40G  0 disk 
├─sda1                  8:1    0  243M  0 part /boot
├─sda2                  8:2    0    1K  0 part 
└─sda5                  8:5    0 29.8G  0 part 
  └─template--vg-root 254:0    0 29.8G  0 lvm  /
sr0                    11:0    1    4M  0 rom  
sr1                    11:1    1 1024M  0 rom  

So we will see during this doc how to get the same structure with LVM system. Prepare the disk

We use parted to grow the part of the disk who contain our extended partition.

parted /dev/sda

We list the partitions in parted by typing print.

print

We grow the extended partition (part 2 in our case).

resizepart 2 100%

When is done we must grow the logical volume part (part 5 in our case).

resizepart 5 100%

We print our partition list

print2

We must grow the VolumeGroup now

pvresize /dev/sda5

And finally we finish by growing the desired logical volume.

lvresize --extents +100%FREE /dev/systemdeb/var

Resizing the filesystem

At this time we have resize our disk and set up LVM for using the new space.

Now we must resize our filesystem if we want use this space.

Resizing with EXT2/EXT3/EXT4

resize2fs /dev/systemdeb/var

Resizing with XFS ( used in this case )

xfs_growfs /dev/systemdeb/var

And finaly the new structure with 5Gio in more.

root@host$ lsblk NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT sda 8:0 0 40G 0 disk ├─sda1 8:1 0 487M 0 part /boot └─sda5 8:5 0 39.5G 0 part ├─systemdeb-swap 254:0 0 952M 0 lvm [SWAP] ├─systemdeb-root 254:1 0 9.3G 0 lvm / ├─systemdeb-tmp 254:2 0 4.2G 0 lvm /tmp └─systemdeb-var 254:3 0 25.1G 0 lvm /var

Commande utile

Trier par ordre décroissant d'usage les montages Linux

df -h | grep -v ^none | ( read header ; echo "$header" ; sort -rn -k 5)

Source : commandlinefu

Avoir une date devant un ping

ping 127.0.0.1 | while read pong; do echo "$(date): $pong"; done

Récupérer les dossiers qui possèdent un cache pip

find -type d -wholename "*.cache/pip*" | awk -F 'pip' '{print $1}' | sort | uniq