Linux
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
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
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.
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